postman 在收集运行时,所有请求都将按照在Postman中看到的顺序运行。因此,首先按照文件夹的顺序执行所有请求,然后再执行集合根目录中的所有请求。 可以用内置函数来覆盖此行为postman.setNextRequest(),顾名思义,此功能允许您指定下一个运行的请求。
假设有四个接口:注册,test_demo, 登录, 个人信息,写到一个 Collections
接下来我要改变执行顺序:注册-登录-个人信息-test_demo
设置下一个要执行的请求
postman.setNextRequest("request_name");
在Tests中使用示例
“注册”接口执行后,在Tests中写执行写个请求“登录”
工作流有4个接口,指定了注册后执行登录
那么运行的结果是:注册-登录-个人信息,此时会跳过test_demo接口
也就是说当没指定顺序的时候,会按收集器写的顺序执行,如果指定了下一个请求,会执行下个请求(然后遵循前面规则按顺序往下执行)
setNextRequest()执行当前接口名称,导致Postman连续运行当前请求。如果我要重复执行100次注册,可以通过for循环实现
// 重复执行100次注册
for (i = 0; i <= 100; i++) {
console.log(i);
postman.setNextRequest("注册");
}
在Collection Runner运行的时候会重复执行100次登录接口
postman.setNextRequest(null);
关于postman.setNextRequest()以下几点要点:
使用此工作流程时,请记住以下两个事实:
使用 postman.setNextRequest() 设置工作流实际上不太直观,我们习惯上按看到的顺序执行,在Collection区域也可以手动拖动改变顺序
拖动后顺序
官方文档参考https://learning.postman.com/docs/running-collections/building-workflows/