Как создать post запрос с циклом перебора страниц в Postman?

Теги: #<Tag:0x00007f78f15f1768> #<Tag:0x00007f78f15f16a0> #<Tag:0x00007f78f15f15d8> #<Tag:0x00007f78f15f1510> #<Tag:0x00007f78f15f1448>

Добрый день. Как самый новый новичок в тестировании своими силами пытаюсь находить решения задач.
Назрел вопрос:

  1. есть post запрос
    {
    “–id”: “string”,
    “–fields”: [
    “fintoolid”,“fintooltype”,“nickname”,“status”,“issueruid”
    ],
    “filter”: “”,
    “pager”: {
    “page”: 1,
    “size”: 1000
    }
    }
  2. В ответе мы получаем набор данных, которые обрабатываются с помощью описанных тестов.
  3. Конец ответа выгляди следующим образом:
    “counter”: 71745,
    “rn”: 1000

ВОПРОС: Исходя из размера страницы в 1000 строк, мы понимаем , что нам необходимо 72 раза выполнить данный запрос. Как преобразовать запрос , чтоб создать цикл, в котором будет выполнено: запрос страницы → проверка ответа тестами → запрос следующей страницы… и так далее. Условие завершение цикла “rn”=“counter”=71745.

вроде это базовая фунциональность…

что-то не могу понять откуда это тут понятно.

В целом, я пока не до конца понял задачу, которую Вы тут озвучиваете.

Добрый день. Возможно, она базовая. Но, как я обратил внимание, я пользователь совсем новый, потому и просил разъяснить, как это работает. Если имеете в виду, что это по умолчанию срабатывает, то нет, по умолчанию так не работает.

Доброго утра. Спасибо за внимание к вопросу. Попробую объяснить своими словами проблему:

  1. Запрос приведен выше в теме.
  2. Ответ на запрос содержит порядка 72000 объектов (описание фин.инструмента в котором содержится некоторое количество строк). Если использовать pager , как на скриншоте, то на каждой странице отображается 1000 объектов из 72000, тесты обрабатывают только обьекты , вернувшиеся в ответе. Получаем: для проверки всего массива информации нужно сделать 72 цикла запроса.
  3. Можно увеличить значение size в pager до 73000 при включенном фильтре полей. Получаем ответ с полным набором объектов. В результате содержится ~650 тыс. строк.
  4. Если отключить фильтр по полям, в случае , когда нам нужна полная информация, мы получаем в ответе ошибку превышения размера ответа.

Итого вопрос. Если я получаю ошибку по размеру ответа, мне необходимо разделить ответ на страницы.
“pager”: {
“page”: 1,
“size”: 1000
}
Каждый раз менять руками номер страницы , чтоб в итоге обработать весь объем информации, глупо и не всегда осуществимо. Поэтому я и хотел узнать, можно ли сделать цикл, который будет повторять запрос, “листая” страницы, пока результат не будет как на 2 скриншоте, когда rn=counter.

Ого, вот это ответ у вашего API!

Не владею до конца контекстом задачи, но что мне видится на данном этапе:

  • коллекцию можно запускать с некоторым кол-вом итераций.
  • к этим итерациям можно во первых привязывать параметры в реквесте (page в Вашем случае, например), и каким-то образом аппелировать в своих тестах. С трудом пока могу представить что это будет в вашем конкретном случае с точки зрения тестов
  • Итерации могут быть без входных данных, а можно на вход скармливать какой-нть csv\json файл, в котором будут колонки\поля про номер итерации и про ожидаемый результат

Ссылка на доку про работу с итерациями, секция Scripting with request info: https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/#scripting-with-request-info

Обратите внимание вот на этот синтаксис:

pm.info.iteration:Number

Про запуск коллекций с входными данными смотреть тут: https://learning.postman.com/docs/running-collections/working-with-data-files/