【问题标题】:Postman : how to rerun a subset of postman request multiple times邮递员:如何多次重新运行邮递员请求的子集
【发布时间】:2021-01-23 11:12:23
【问题描述】:
我有以下顺序的邮递员请求
- 获取请求
- 获取请求
- POST 请求
- POST 请求
- POST 请求
- POST 请求
POST 请求 4、5 和 6 需要重复(比如 10 次)
我尝试了如下所示的 Request 副本....
- 获取请求
- 获取请求
- POST 请求
- POST 请求
- POST 请求
- POST 请求
- POST 请求 4 - 复制
- POST 请求 5 - 复制
- POST 请求 6 - 复制
有没有比复制更好的方法?
【问题讨论】:
标签:
postman
postman-pre-request-script
【解决方案1】:
postman.setNextRequest("request_name") 应该可以帮助您解决问题。
注意:只有当您使用 postman runner 运行集合并且集合中的请求名称必须是唯一的时,这才有帮助。
在您的情况下,将您集合中的请求重命名为
GET Request 1
GET Request 2
POST Request 3
POST Request 4
POST Request 5
POST Request 6
并将下面的代码放在POST Request 6的测试标签中
var maxCount = pm.environment.get("maxCount"); //number of times you want to repeat requests 4,5,6
var currentCount = pm.environment.get("currentCount"); //set this to 0 when starting the test
if (currentCount < maxCount) {
currentCount = currentCount + 1;
pm.environment.set("currentCount", currentCount);
postman.setNextRequest("POST Request 4")
}
【解决方案2】:
您可以使用pm.setNextRequest() 来实现。
把它放在测试脚本的最后,加上一个计数器/条件来决定你是要调用一个特定的请求还是集合中的下一个请求。
我没有完全理解你想要执行哪个请求的顺序/条件,所以下面的代码只解释了大致的想法:
let counter = pm.environment.get("counter");
if (counter < 3) {
pm.setNextRequest("nameOfTheRequest");
pm.environment.set("counter", counter++);
}