Почтальон - игнорирование запроса от бегуна на основе количества итераций

Мне нужно запустить свою коллекцию на двух разных уровнях страны, поэтому моя итерация настроена как одна итерация для одной страны, но некоторые конечные точки не зависят от страны и не должны запускаться дважды.

Есть ли способ избежать запуска определенных конечных точек только один раз в runner на основе итерации?

Я попробовал этот способ, добавив столбец Iteration Count в свой data.csv

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

но это не помогло.


person Uthara    schedule 10.12.2020    source источник
comment
Пожалуйста, добавьте структуру сбора, запрос, снимки экрана тела, а также объясните, чем отличается запрос для страны1 и страны2. SetNextRequest выполняется только после запроса, в котором он определен, даже если он установлен в предварительном запросе.   -  person PDHide    schedule 11.12.2020


Ответы (1)


pm.info.iteration

дает текущий номер итерации (начинается с 0)

if (pm.info.iteration === 0) {

postman.setNextRequest(‘request name1’);

} else {

postman.setNextRequest(‘request name2’);

}

Также в почтальоне вы можете изменить все в почтальоне через объект pm

Таким образом, вы можете изменить pm.request.url

pm.request.body

Так далее

SetNextRequest не пропускает текущий запрос, он будет выполнен после завершения текущего запроса.

Итак, что вы можете сделать, это добавить сценарий подготовки и выполнить

postman.setNextRequest(null) это обеспечит отсутствие следующего запроса после выполнения текущего выполнения, добавьте это к двум основным запросам

и в процессе подготовки запрос добавить

postman.setNextRequest("country1")

Else 

postman.setNextRequest("country2")

Пожалуйста, добавьте структуру запроса и структуру коллекции, чтобы мы могли дать более правильный ответ

person PDHide    schedule 11.12.2020
comment
Теперь это решено с помощью нижеприведенного в предварительных требованиях. if («значение» == pm.iterationData.get («имя поля»)) {postman.setNextRequest (следующий запрос); } Спасибо. - person Uthara; 11.12.2020
comment
Извините, итерация начинается с 0, поэтому первая итерация равна 0, а последняя итерация - n-1 - person PDHide; 14.12.2020