邮递员:如何多次重新运行邮递员请求的子集

时间:2020-10-08 11:53:00

标签: postman postman-pre-request-script

我有以下顺序的邮递员请求

  1. 获取请求
  2. 获取请求
  3. POST请求
  4. POST请求<<<< / li>
  5. POST请求<<<<仅需重复4,5,6-10次
  6. POST请求<<<< / li>

POST请求4、5和6需要重复(例如10次)

我尝试了如下的请求副本。...

  1. 获取请求
  2. 获取请求
  3. POST请求
  4. POST请求
  5. POST请求
  6. POST请求
  7. POST请求4-复制<<<< / li>
  8. POST请求5-复制<<<我制作了4,5,6的副本:(
  9. POST请求6-复制<<<< / li>

有没有比复制更好的方法了?

2 个答案:

答案 0 :(得分:0)

您可以使用pm.setNextRequest()来实现。

将其与测试条件一起放在测试脚本的末尾,以决定是要调用集合中的特定请求还是下一个请求。

我不完全了解您何时执行哪个请求的顺序/条件,因此下面的代码仅解释了总体思路:

let counter = pm.environment.get("counter");

if (counter < 3) {
    pm.setNextRequest("nameOfTheRequest");
    pm.environment.set("counter", counter++);
}

答案 1 :(得分:0)

postman.setNextRequest("request_name")应该可以帮助您解决问题。

注意:仅当您使用邮递员赛跑者运行集合并且集合中的请求名称必须唯一时,这才有用。

根据您的情况,将集合中的请求重命名为

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")
}
相关问题