#postman #postman-pre-request-script
#почтальон #почтальон-предварительный запрос-скрипт
Вопрос:
У меня есть запрос почтальона в следующем порядке
- ПОЛУЧИТЬ запрос
- ПОЛУЧИТЬ запрос
- POST-запрос
- POST-запрос <<<
- POST-запрос <<< Нужно повторить только 4,5,6 — 10 раз
- POST-запрос <<<
POST-запросы 4, 5 и 6 необходимо повторить (скажем, 10 раз)
Я попробовал скопировать запрос, как показано ниже….
- ПОЛУЧИТЬ запрос
- ПОЛУЧИТЬ запрос
- POST-запрос
- POST-запрос
- POST-запрос
- POST-запрос
- POST-запрос 4 — Копировать <<<
- POST-запрос 5 — Копировать <<< я сделал копию 4, 5, 6: (
- 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. Спасибо. позвольте мне попробовать предложение. ценю вашу быструю помощь