Почтальон — как запускать запросы в разных итерациях

#collections #postman #postman-collection-runner #postman-pre-request-script #postman-testcase

Вопрос:

У меня есть проблема с запуском коллекции, у меня есть следующее: Коллекция: Запрос 1 Запрос 2 Запрос 3

Что я хочу: Когда я запускаю сбор, я хочу, чтобы запрос 1 выполнялся 20 раз, затем после 20-й итерации выполнялся запрос 2, а после выполнения запроса 2 выполнялся запрос 3. Итак: Запрос 1 выполняется 20 раз, Запрос 2 один раз, Запрос 3 один раз.

Я попробовал что-то вроде (В тестовом сценарии запроса 1):

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

Но он работает 1:1, как Запрос 1, Запрос 2, Запрос 3, Запрос 1, 2,3… и так далее

У тебя есть какие-нибудь идеи? #Я новичок в почтальоне

Ответ №1:

Моя идея заключается в создании переменной count_num для управления циклом.

Запрос 1:

Предварительный запрос: Создать count_num , если count_num в среде нет

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

Тест: Проверьте значение count_num , если count_num = 0, затем перейдите к запросу 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"); }  

Примечание: "Req1" amp; "Req2" являются именем запроса, вы можете изменить его в соответствии с вашим фактическим именем запроса.