Почтальон: как повторно запустить подмножество запроса почтальона несколько раз

#postman #postman-pre-request-script

#почтальон #почтальон-предварительный запрос-скрипт

Вопрос:

У меня есть запрос почтальона в следующем порядке

  1. ПОЛУЧИТЬ запрос
  2. ПОЛУЧИТЬ запрос
  3. POST-запрос
  4. POST-запрос <<<
  5. POST-запрос <<< Нужно повторить только 4,5,6 — 10 раз
  6. POST-запрос <<<

POST-запросы 4, 5 и 6 необходимо повторить (скажем, 10 раз)

Я попробовал скопировать запрос, как показано ниже….

  1. ПОЛУЧИТЬ запрос
  2. ПОЛУЧИТЬ запрос
  3. POST-запрос
  4. POST-запрос
  5. POST-запрос
  6. POST-запрос
  7. POST-запрос 4 — Копировать <<<
  8. POST-запрос 5 — Копировать <<< я сделал копию 4, 5, 6: (
  9. POST-запрос 6 — Копировать <<<

Есть ли лучший способ, чем копировать?

Ответ №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
  

и поместите приведенный ниже код на вкладку test в 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  );
}
  

Комментарии:

1. Спасибо. позвольте мне попробовать предложение. ценю вашу быструю помощь