Postman—在同一迭代中选择性运行API请求

Postman—在同一迭代中选择性运行API请求,postman,postman-collection-runner,postman-pre-request-script,Postman,Postman Collection Runner,Postman Pre Request Script,我有一组API请求(保存在同一文件夹下)。我需要根据Runner中指定的迭代次数多次执行这些操作。 但是有一个(第一个)请求在整个运行中只需要执行一次。此请求是收集身份验证令牌的身份验证请求 即,我将Req1、REK2、REK3、Req4保存在同一集合/文件夹下。我需要运行这个集合100次迭代。但是Req1应该只运行一次,而REK2、REK3和Req4应该全部执行100次 是否有方法告诉Postman(或以其他方式设置)在整个运行开始时只执行一次Req1 到达Req4后,根据计数器调用Req2,

我有一组API请求(保存在同一文件夹下)。我需要根据Runner中指定的迭代次数多次执行这些操作。 但是有一个(第一个)请求在整个运行中只需要执行一次。此请求是收集身份验证令牌的身份验证请求

即,我将Req1、REK2、REK3、Req4保存在同一集合/文件夹下。我需要运行这个集合100次迭代。但是Req1应该只运行一次,而REK2、REK3和Req4应该全部执行100次


是否有方法告诉Postman(或以其他方式设置)在整个运行开始时只执行一次Req1

到达Req4后,根据计数器调用Req2,它位于Req1之后。 这可以在邮递员请求窗口的
测试
选项卡中实现

Pseudo code - 
set 2 global/environment variables , iteration = <some number you need>, iteration_ref = 0
<In Req1 window>
if(pm.globals.get("iteration_ref") < pm.globals.get("iteration")-1)
     postman.setNextRequest('Req2')

<In Req2 window>
if(pm.globals.get("iteration_ref") < pm.globals.get("iteration")-1)
     postman.setNextRequest('Req3')

<In Req3 window>
if(pm.globals.get("iteration_ref") < pm.globals.get("iteration")-1)
     postman.setNextRequest('Req4')

<In Req4 window>
if(pm.globals.get("iteration_ref") < pm.globals.get("iteration")-1)
{
     postman.setGlobalVariable("iteration_ref", 
     Number(postman.getGlobalVariable("iteration_ref"))+1);
     postman.setNextRequest('Req2')
}

伪代码-
设置2个全局/环境变量,迭代=,迭代\u ref=0
if(pm.globals.get(“迭代”)小于pm.globals.get(“迭代”)-1)
邮递员setNextRequest('Req2')
if(pm.globals.get(“迭代”)小于pm.globals.get(“迭代”)-1)
邮递员setNextRequest('Req3')
if(pm.globals.get(“迭代”)小于pm.globals.get(“迭代”)-1)
邮递员setNextRequest('Req4')
if(pm.globals.get(“迭代”)小于pm.globals.get(“迭代”)-1)
{
postman.setGlobalVariable(“迭代”,
编号(邮递员getGlobalVariable(“迭代号”)+1);
邮递员setNextRequest('Req2')
}
或者仅在最后一个请求中,如果您对集合中设置的请求的顺序非常有信心的话

<In Req4 window>
if(pm.globals.get("iteration_ref") < pm.globals.get("iteration")-1)
{
     postman.setGlobalVariable("iteration_ref", 
     Number(postman.getGlobalVariable("iteration_ref"))+1);
     postman.setNextRequest('Req2')
}

if(pm.globals.get(“迭代”)小于pm.globals.get(“迭代”)-1)
{
postman.setGlobalVariable(“迭代”,
编号(邮递员getGlobalVariable(“迭代号”)+1);
邮递员setNextRequest('Req2')
}
确保首先在集合中有Req1(Post请求),在集合运行器中只有一次迭代。我们正在使用全局/env变量进行迭代

PS:我强烈建议使用一个简单的python或js脚本,使用请求库来调用API,上面的流程是一个巧妙的技巧

参考-