邮递员 - 如何在另一个请求的测试脚本中循环请求?

时间:2018-01-04 14:54:14

标签: loops request postman

我有一个返回数组的请求,感谢StackOverflow,我想出了如何使数组中的每个对象成为自己的环境变量。现在我想在我实例化变量的同一请求中为每个变量发出一个请求。这是我得到的:

var a = pm.response.json();

for (i = 0;i < a.sick_beats.length; i++){
    pm.environment.unset("Beat_" + (i+1));
    pm.environment.set("Beat_" + (i+1), a.sick_beats[i]);
    pm.sendRequest("Publish Beat");
}

它发送请求&#34; Publish Beat&#34;但使用它作为URL而不是引用请求。

我想我的问题是我如何引用请求名称而不是网址,因为旧的postman.setNextRequest("Request_Name");方式无效。

1 个答案:

答案 0 :(得分:0)

这个pm。*函数不能以这种方式工作:

pm.sendRequest("Publish Beat")

查看Postman的这个blog进一步解释。

这是应用程序中snippets的基本摘录。第一个arg是URL。

pm.sendRequest("https://postman-echo.com/get", function (err, response) {
    console.log(response.json());
});

您可以使用pm.setNextRequest('request_name')创建工作流程,但这只能在Collection Runner中使用,而不能用于单个请求。您可以使用URL中的{{Beat_1}}变量添加一组请求并将这些请求链接在一起。

或者,您可以添加类似的内容,但它非常 hacky并且不会一次又一次地发送请求,例如收集运行器会:

var some_value = pm.environment.get('Beat_whatever')
pm.sendRequest(`https://your-super-secret-site.com/${some_value}`, (err, response) => {
    // This is just here so you can see the response
    console.log(response.json())
})