Прогон
Запускайте папку, несколько запросов или всё рабочее пространство вместе с проверками — сколько угодно раз или по разу на каждую строку файла данных.
Прогон отправляет запросы один за другим и сообщает, какие прошли. Запрос проходит, если получает ответ и выполняются все проверки с его вкладки «Тесты» и из скриптов. Используйте его, чтобы проверить весь API после изменений, запустить одни и те же запросы для многих входных данных или сделать отчёт.

Запуск
Войти можно несколькими способами:
- Щёлкните папку в боковой панели правой кнопкой и выберите Запустить папку или щёлкните запрос и выберите Запустить запрос. Прогон сразу начинается, и открывается страница «Прогон».
- Выберите несколько папок или запросов в боковой панели, щёлкните правой кнопкой и выберите Запустить N объектов.
- Выберите Запустить рабочее пространство в палитре команд.
- Откройте страницу «Прогон», задайте параметры и выберите Запустить. Прогон находится в боковой панели в разделе Тесты, либо выберите Вид › Прогон (⌥⌘R).
На странице «Прогон» параметры находятся в карточке Запустить:
| Параметр | Что делает |
|---|---|
| Что | Всё рабочее пространство, папка из Папки или один запрос из Один запрос |
| Окружение | Окружение, по которому разрешаются запросы, как и в остальном окне |
| Данные | Выбрать CSV или JSON… для файла данных: по итерации на строку |
| Итерации | Сколько раз выполнить всё, от 1 до 1000. С файлом данных написано По одной на строку данных |
| Задержка | Пауза между запросами, от 0 до 60 000 мс с шагом 100 |
| Повторы | Дополнительные попытки для запроса, который не удался, от 0 до 5 |
| Одновременно | Сколько итераций выполняется параллельно, от 1 до 32. Показывается, если итераций больше одной |
| Остановиться на первой ошибке | Завершает прогон на первом запросе, который не удался |
Выберите Запустить (⌘R), чтобы начать, и Остановить (⌘.), чтобы завершить прогон досрочно. Пока активно защищённое окружение, кнопка называется Запустить в Production… (с именем этого окружения), и прогон спрашивает подтверждение, прежде чем что-либо отправить. См. защищённые окружения.
Что выполняется и в каком порядке
Запросы выполняются в порядке боковой панели: запросы папки сверху вниз, вложенные папки на своих местах. Каждый запрос отправляется в точности так, как если бы вы отправили его сами: с теми же переменными, авторизацией, скриптами и проверками. Последующие запросы могут использовать ответы предыдущих в том же прогоне — через значения из ответов и переменные, которые задают скрипты или захваты. Например, прогон рабочего пространства Alpenglow сначала отправляет Auth › Sign in, который захватывает токен, отправляемый запросами Orders.
Запускается любой вид запросов:
- Запросы HTTP, GraphQL и gRPC и вызовы MCP отправляются и проверяются как любые другие.
- Запросы WebSocket, Socket.IO и MQTT подключаются, отправляют свои сохранённые сообщения, события или публикации,
включённые для прогонов (а MQTT подписывается на включённые фильтры), слушают 10 секунд и закрываются. Журнал
сообщений — это ответ, поэтому проверки на Тело с ним работают. Чтобы слушать другое время, задайте
stream-limit(в секундах) в[settings]файла запроса. - Поток server-sent events удерживается 10 секунд, затем завершается.
Скрипт перед запросом может пропустить запрос через pm.execution.skipRequest(); результат сообщает Пропущен
скриптом перед запросом. Скрипт также может перейти к другому запросу через
pm.execution.setNextRequest("Request name") и завершить прогон через pm.execution.setNextRequest(null). Прогон, который всё время возвращается назад,
останавливается после 10 000 отправок за одну итерацию.
Итерации и файлы данных
Итерации выполняют всё указанное число раз. Значения {{$…}}, например {{$uuid}}, каждый раз новые, а
pm.info.iteration сообщает номер итерации (с 0).
Файл данных делает прогон управляемым данными: по итерации на строку, каждый столбец — переменная, которую запросы
используют как любую другую, например {{sku}}. Скрипты читают строку через pm.iterationData.get("sku").
- CSV: строка заголовка с именами переменных, затем по строке на итерацию. Кавычки, удвоенные кавычки и переносы строк внутри кавычек работают.
- JSON: массив объектов, по объекту на итерацию.
Например, skus.csv для запроса к {{baseURL}}/products/{{sku}} с проверкой, что $.sku равно {{sku}}:
sku,quantity
TNT-MH-2P,1
PCK-TIT-30,2или то же самое в JSON:
[
{ "sku": "TNT-MH-2P", "quantity": 1 },
{ "sku": "PCK-TIT-30", "quantity": 2 }
]Поле Данные показывает имя файла и число его строк. Крестик рядом удаляет файл.
Параллельные итерации
Если итераций больше одной, Одновременно выполняет несколько итераций параллельно. Запросы внутри одной итерации остаются по порядку, а каждая итерация сохраняет переменные, заданные её собственными скриптами, так что токен одной итерации никогда не попадёт в другую. Оставьте 1 (по очереди), если итерации зависят друг от друга или сервер ограничивает частоту обращений.
Повторы, задержки и остановка
- Повторы отправляют не удавшийся запрос снова, не более указанного числа раз. Запрос не удался, если нет ответа или не прошла проверка. Результат показывает, сколько попыток понадобилось, например «3 попытки», и сохраняет последнюю.
- Задержка ждёт между запросами — для серверов с ограничением частоты, таких как демо-API.
- Остановиться на первой ошибке завершает прогон, когда запрос не удался, после его повторов. Тогда в сводке написано Остановлено на ошибке.
Результаты
Пока идёт прогон, список заполняется и показывает отправляемый запрос. Над ним числа: Запросы, Пройдено, Ошибка, Непройденные проверки и в конце Длительность с Все пройдены или «N с ошибкой».
В каждой строке показаны вид или метод запроса, его имя и адрес, статус и время. При нескольких итерациях #2 говорит,
к какой итерации относится строка. Под не прошедшим запросом перечислены непройденные проверки, каждая со своим
сообщением, или причина, по которой ответа нет. Нажмите строку, чтобы открыть запрос.
Страница хранит последний прогон, пока открыто окно. Каждый обмен прогона также есть в Истории с пометкой, что он пришёл из прогона.
Отчёты
После прогона Сохранить отчёт в карточке Результаты сохраняет его в файл:
| Формат | Для чего |
|---|---|
| JUnit XML… | Системы CI и панели тестов |
| JSON… | Ваши собственные инструменты |
| HTML… | Страница для чтения или передачи |
| HAR (все обмены)… | Каждый запрос и ответ прогона — для инструментов разработчика браузера или других инструментов HTTP |
Отчёты JUnit, JSON и HTML скрывают секреты в содержащихся в них адресах, значениях проверок и сообщениях, тестах скриптов и журналах.
Запуск из командной строки
echolot run запускает то же рабочее пространство с теми же параметрами — для CI и терминала: итерации, файлы данных,
задержки, повторы, параллельные итерации и те же форматы отчётов. См. echolot run и
запуск в CI.
