我正在尝试为邮递员编写一些测试。许多请求需要一个由初始 GET 请求返回的 API 密钥。
要设置非动态的硬编码,看起来测试代码的形式是
let variable = pm.iterationData.get("variable");
console.log("Variable will be set to", variable);
如何将返回值设置为全局变量,然后将其设置为标头参数?
#Example 如果您设置了动态的 ApiToken。
- 在邮递员的"测试"选项卡下。
输入以下代码。
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("Token", jsonData.token);
- 在特定环境下,将变量名称设置为"令牌",并自动设置当前值。
- 使用 {{variable_name}} 访问变量 #Example: {{令牌}}
您可以使用{{var_name}}
语法在请求标头中指定该变量值。而不是您可能一直在使用的任何硬编码值。
以前必须使用pm.globals.set()
语法设置值。
@Dev-lop-er的这个答案也可以写得有点不同。
const jsonData = pm.response.json();
/* Set collection variable */
pm.collectionVariables.set("token", jsonData.token);
/* Or set environmental variable */
pm.environment.set("token", jsonData.token);
如果您没有激活 SDK(需要按月向邮递员付款(。您可以通过__environment和__globals检索值。
//Use of environment
postman.setEnvironmentVariable("my_value", "This is a value");
//...
let myValueVar = postman.__environment["my_value"];
console.log("Variable value is:", myValueVar);
//shows: Variable value is: This is a value
//Use of Globals
postman.setGlobalVariable("my_value2", "This is a value of globals");
//...
let myValueVar2 = postman.__globals["my_value2"];
console.log("Variable value is:", myValueVar2);
//shows: Variable value is: This is a value of globals
您还可以在 Posmant 客户端的环境>全局变量中看到您的全局变量。