Automated tests 使用postman在多个循环中设置环境变量

Automated tests 使用postman在多个循环中设置环境变量,automated-tests,postman,postman-collection-runner,postman-pre-request-script,Automated Tests,Postman,Postman Collection Runner,Postman Pre Request Script,我想测试以下工作流结构 在第一个请求脚本中 var st = [1,2,3] var i = st.length; for(var j=0; j<i; j++) { pm.environment.set("id", st[j]); postman.setNextRequest("getNext"); }; var id = pm.environment.get("id"); console.log(`Run ${

我想测试以下工作流结构

在第一个请求脚本中

var st = [1,2,3]
var i = st.length;
for(var j=0; j<i; j++) {
    pm.environment.set("id", st[j]);
    postman.setNextRequest("getNext");
};
var id = pm.environment.get("id");
console.log(`Run ${id}`);
在控制台中,只显示
run3
消息

问题是env变量被最后的元素覆盖。我只能看到列表的最后一个元素,请求使用的是最后一个元素

我想知道如何保持环境变量不被覆盖

编辑 我删除了我的混乱问题,并添加了简单的工作流程

postman.setNextRequest()
始终在 当前请求。这意味着如果你把这个函数放在其他函数之前 代码块在预请求或测试脚本中的任何位置,这些块将 仍然执行

这意味着,循环运行3次,并且仅在最后,当完整脚本完成时,当
id
的值为
3
时,它调用
postman.setNextRequest()

有关更多详细信息,请参阅


找到这篇博文,解释了如何实现它:

不确定是否理解您的伪代码示例。你能加上真实的代码吗?