【问题标题】:Postman : how to rerun a subset of postman request multiple times邮递员:如何多次重新运行邮递员请求的子集
【发布时间】:2021-01-23 11:12:23
【问题描述】:

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

  1. 获取请求
  2. 获取请求
  3. POST 请求
  4. POST 请求
  5. POST 请求
  6. POST 请求

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

我尝试了如下所示的 Request 副本....

  1. 获取请求
  2. 获取请求
  3. POST 请求
  4. POST 请求
  5. POST 请求
  6. POST 请求
  7. POST 请求 4 - 复制
  8. POST 请求 5 - 复制
  9. 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++);
      }
      

      【讨论】:

      • 谢谢。让我试试这个建议。感谢您的快速帮助
      猜你喜欢
      • 2021-03-16
      • 2019-11-16
      • 2020-05-22
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 2017-12-30
      相关资源
      最近更新 更多