Postman 邮递员-基于迭代计数忽略来自运行者的请求

Postman 邮递员-基于迭代计数忽略来自运行者的请求,postman,postman-collection-runner,Postman,Postman Collection Runner,我必须在两个不同的国家/地区级别上运行我的集合,因此我将我的迭代设置为一个国家/地区的一个迭代,但是一些端点不是特定于国家/地区的,不需要运行两次 有没有一种方法可以避免在基于迭代的运行程序中只运行某个端点一次 我通过在我的data.csv中添加迭代计数列来尝试这种方法 if (pm.iterationData.get(“Iteration Count”) === 1) { postman.setNextRequest(‘request name1’); } else { postman

我必须在两个不同的国家/地区级别上运行我的集合,因此我将我的迭代设置为一个国家/地区的一个迭代,但是一些端点不是特定于国家/地区的,不需要运行两次

有没有一种方法可以避免在基于迭代的运行程序中只运行某个端点一次

我通过在我的data.csv中添加迭代计数列来尝试这种方法

if (pm.iterationData.get(“Iteration Count”) === 1) {
  postman.setNextRequest(‘request name1’);
} else {
  postman.setNextRequest(‘request name2’);
}
但这没用

pm.info.iteration
给出当前迭代次数(从0开始)

同样在postman中,您可以通过pm对象修改postman中的所有内容

因此,您可以更改pm.request.url

pm.request.body

SetNextRequest不会跳过当前请求,它将在当前请求完成后执行

所以你可以做的就是添加一个准备脚本

postman.setNextRequest(null)
这将确保在执行当前执行后没有下一个请求,将其添加到两个主请求中

并在准备中请求添加

postman.setNextRequest("country1")

Else 

postman.setNextRequest("country2")

请添加请求结构和收集结构,以便我们能给出更正确的答案

请添加收集结构、请求、正文屏幕截图,并解释country1和country2的请求的不同之处。SetNextRequest仅在定义它的请求之后执行,即使它是在prerequest中设置的。如果(“value”==pm.iterationData.get(“fieldname”){postman.setNextRequest(“Next request”)}谢谢。抱歉,迭代从0开始,所以第一次迭代是0,最后一次迭代是n-1
postman.setNextRequest("country1")

Else 

postman.setNextRequest("country2")