jmc*_*ode 15 javascript automated-tests postman
下午好,堆叠器,
我试图在Postman中自动化我的测试套件,这样我就不必手动进入每个请求并将该标头值更改为我最初在第一个请求中放置的内容.
我的测试套件目前看起来像:
第一次请求:
var headerValue = postman.setGlobalVariable('Number', headerValue);
console.log("Number is: " + headerValue);
Run Code Online (Sandbox Code Playgroud)
第二个请求标题:
Number - {{headerValue}}
Run Code Online (Sandbox Code Playgroud)
我希望headerValue具有'Number'的值,因为我已将其设置为全局变量,但它将以未定义的形式返回.我不确定我做错了什么.
Sai*_*ddy 32
这就是你如何做到这一点
如果Refresh_token是标头值
postman.setGlobalVariable("refresh_token",postman.getResponseHeader("Refresh_token") );
Run Code Online (Sandbox Code Playgroud)
官方文档:https://www.getpostman.com/docs/postman/scripts/test_examples
Ros*_*nko 24
似乎不再推荐@Sai的回答不起作用,因为getResponseHeader现在已弃用。更新后的代码是:
pm.test("First request", function() {
let headerValue = pm.response.headers.get("Number")
pm.globals.set("Number", headerValue);
});
Run Code Online (Sandbox Code Playgroud)
在第二个请求 goHeaders部分中,添加一个Number作为键和{{Number}}值的新标头。
不行,试试这个方法。对于邮递员,如果你想设置环境或全局变量,只需使用 (key,value ) 模式这样 -
\n\npostman.setEnvironmentVariable(key,value) or \npostman.setGlobalVariable(key,value) \nRun Code Online (Sandbox Code Playgroud)\n\n最后使用 {{key}} 抓住它们
\n\nvar headerValue = \xe2\x80\x9dyour value goes here\xe2\x80\x9d;\npostman.setGlobalVariable('Number', headerValue);\nRun Code Online (Sandbox Code Playgroud)\n\n并在您的子后续请求标头中使用 {{Number}}
\n