如何在邮递员中从请求中设置变量



我正在尝试为邮递员编写一些测试。许多请求需要一个由初始 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 客户端的环境>全局变量中看到您的全局变量。

最新更新