Тестирую API с Postman, сейчас у меня такая проблема, что нужно получить конкретный ответ, а для этого нужно отправить один и тот же запрос несколько раз, только с разными значениями в параметре курсора. Итак, мой запрос:
{{API host}}/{{APP ID}}/{{REST API}}/hive/Management/set/keys?filterPattern=*&pageSize=5&cursor=0
Он начинается с параметра cursor=0, после чего сервер возвращает ответ уже с другим значением параметра курсора (например 384), новое значение курсора мне нужно добавить в следующий запрос, например:
{{API host}}/{{APP ID}}/{{REST API}}/hive/Management/set/keys?filterPattern=*&pageSize=5&cursor=384
И так далее. Мне нужно повторять этот запрос, пока сервер не вернет cursor="0". Как это можно реализовать и написать тест?
Это мой код, но он не работает, по логике он должен отправлять запрос, пока cursor не станет 0:
Не могли бы вы детальней описать, как пользоватся этим циклом в моем случае?
Цикл while я должен использовать внутри if? Должен ли я вообше использовать if?
Под “код с отправкой запроса;” вы имеете ввиду этот?
Да, пожалуй setNextRequest тут будет правильней
Можно в качестве примера вот так сделать, только cursorValue в коллекцию и в query параметр вставляете. Запускаете в коллекции, как одиночный запрос такая схема не сработает. Как работает
Проверяется есть ли 0 в значении cursor
pm.test("Your test name", function () {
var jsonData = pm.response.json();
if (jsonData.cursor != 0){
pm.collectionVariables.set("cursorValue", jsonData.cursor+1);
postman.setNextRequest("Название запроса");
i--;
} else {
postman.setNextRequest(null);
}
});