我正在尝试为Postman编写一些测试。许多请求需要一个API密钥,该密钥由初始GET请求返回。要设置非动态的硬编码代码,测试代码的形式看起来像
let variable = pm.iterationData.get("variable");console.log("Variable will be set to", variable);
let variable = pm.iterationData.get("variable");
console.log("Variable will be set to", variable);
如何将返回值设置为全局变量,然后将其设置为头参数?
g2ieeal71#
您可以使用{{var_name}}语法在请求标头中指定该变量值,而不是您可能一直使用的任何硬编码值。以前必须使用pm.globals.set()语法设置该值。
{{var_name}}
pm.globals.set()
rn0zuynd2#
输入以下代码。
var jsonData = JSON.parse(responseBody);postman.setEnvironmentVariable("Token", jsonData.token);
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("Token", jsonData.token);
uujelgoq3#
如果您没有激活SDK(每月需要向Postman付款),您可以通过__environment和__globals检索值。
//Use of environmentpostman.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 Globalspostman.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
//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客户端的Environments-〉Globals中查看全局变量。
3条答案
按热度按时间g2ieeal71#
您可以使用
{{var_name}}
语法在请求标头中指定该变量值,而不是您可能一直使用的任何硬编码值。以前必须使用
pm.globals.set()
语法设置该值。rn0zuynd2#
例如,如果您设置动态ApiToken。
输入以下代码。
uujelgoq3#
如果您没有激活SDK(每月需要向Postman付款),您可以通过__environment和__globals检索值。
您也可以在Posmant客户端的Environments-〉Globals中查看全局变量。