0

I have an issue about running a collection I have the following: Collection: Request 1 Request 2 Request 3

What I want: When I run collection, I want Request 1 to be executed 20 times, then after iteration 20 to run Request 2 and after Request 2 is done to run Request 3. So: Request 1 to run 20 times, Request 2 one time, Request 3 one time

I tried something like (In Tests script of Request 1):

if (pm.info.iteration === pm.info.iterationCount+3) {
    postman.setNextRequest("Url of request 1")
}

But it's running 1:1 like Request 1, Request 2, Request 3, Request 1, 2,3... and so on

Do you have any ideas? #I am new to Postman

1 Answers1

1

My idea is creating a variable count_num to manage the loop.

Request 1:

Pre-request: Create count_num if there is no count_num in environment

let count = pm.environment.get("count_num");

if (count === undefined || count === null) {
    pm.environment.set("count_num", 19);
}

Test: Check the value of count_num, if count_num = 0, then go Request 2.

let count = pm.environment.get("count_num");

if (count === 0){
    pm.environment.unset("count_num");
    postman.setNextRequest("Req2");  
} else {
    pm.environment.set("count_num", count - 1);
    postman.setNextRequest("Req1");
}

Note: "Req1" & "Req2" are request name, you can change to fit your actual request name.

lucas-nguyen-17
  • 5,516
  • 2
  • 9
  • 20