如何遍历邮递员中的数组以更改环境变量

How to iterate through an array in postman to change environment variables

我正在尝试循环访问一组 ID 以更改其标题。 {{id}}{{title}}.

我的请求是这样的{{app}}/data/{{id}}

body 看起来像这样 { "title": "{{title}}" }

这是我当前的测试代码,它不起作用,但或多或​​少是我正在努力的目标。

var ids = [1, 2, 3]
var titles = ["title1", "title2", "title3"]
var i = titles.length
for(var j = 0; j < i; j++){
     pm.environment.set("id",ids[j])
     pm.environment.set("title",titles[j])
     postman.setNextRequest("<request_name>")
}

我的问题是标题只更新了最后一个 title3 而忽略了其余部分。有谁知道如何解决这个问题?

首先,postman.setNextRequest只适用于runner。

其次,您的任务将使用此代码实现:

在请求 1 的测试选项卡中:

//Save 2 arrays
let ids = [1, 2, 3]
let titles = ["title1", "title2", "title3"]
pm.environment.set("ids", JSON.stringify(ids));
pm.environment.set("titles", JSON.stringify(titles));

在请求 2 的预请求选项卡中:

let ids = JSON.parse(pm.environment.get("ids"));
let titles = JSON.parse(pm.environment.get("titles"));

pm.environment.set("id", ids.shift())
pm.environment.set("title", titles.shift())

pm.environment.set("ids", JSON.stringify(ids));
pm.environment.set("titles", JSON.stringify(titles));

在请求 2 的测试选项卡中:

let ids = JSON.parse(pm.environment.get("ids"));
if (ids.length > 0){
    postman.setNextRequest("New Request 69020616");
}

结果