Collection Runner, Newman и запуск в CI

↑ 1.5 Postman: от установки до коллекций · ← Предыдущая · → Следующая

Обязательно~4 мин чтенияУровень: junior

Зачем это аналитику и PM

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

План темы

  • прогон коллекции целиком
  • данные из CSV/JSON
  • Newman в командной строке
  • отчёты

Объяснение

Collection Runner — прогон папки или всей коллекции, а не одной вкладки. Запросы идут сверху вниз. Тесты каждого шага складываются в общий итог. Подпись кнопки запуска сверьте с вашей версией: действие одно, место на экране переносили.

Как конвейер бланков. Один бланк вы уже заполняли. Конвейер прогоняет пачку и останавливает внимание на тех, где штамп не сошёлся.

Данные и повторы

Файл CSV или JSON даёт несколько строк на один и тот же запрос. Заголовок колонки становится именем переменной на время этой строки. Так проверяют два учебных заказа, не копируя запрос. В файле нет токенов и живых клиентов. JSON для данных прогона — список объектов, не путать с телом одного запроса.

Если шаг зависит от предыдущего, порядок в папке и есть порядок истории. Перемешивание ломает номер, который тест только что записал.

Newman и CI

Newman — та же коллекция из командной строки, без окна клиента. Пример ниже не запускался в этом репозитории: это форма команды, не журнал вашего пайплайна.

Отчёт в консоли показывает, какой тест прошёл. Файлы отчётов других форматов смотрите в документации Newman на день настройки. Имена репортёров здесь не фиксируются: набор менялся.

В CI команда стоит отдельным шагом. Секрет приходит из хранилища сборки, не из файла, который лежит в git. Красный шаг значит «сценарий коллекции не сошёлся», а не «весь продукт запрещён к выкладке», пока команда сама так не договорилась.

Примеры

Учебные строки. Колонка title попадёт в переменную с тем же именем.

title,userId
example,1
second,1

Команда-образец. Файлы collection.json и environment.json — экспорт вашей коллекции и окружения, не вложения этой заметки.

newman run collection.json -e environment.json

Нюансы и подводные камни

  • Прогон бьёт в адрес активного окружения. Перед стартом читают имя стенда.
  • Пустая переменная в строке данных затирает значение окружения на этот круг. Проверьте заголовки колонок.
  • Newman не чинит скрипт, который опирается на окно клиента. То, что зелёное у вас, перепроверьте командой на чистой машине.
  • Отчёт с телом ответа может содержать персональные данные. Не кладите его в публичный артефакт.

Практика

Соберите папку из учебного GET и POST с тестом кода. Запустите прогон папки один раз без файла и, если клиент просит данные, второй раз с двумя строками CSV.

Ожидаемый результат: итог называет каждый тест, а не только «ок». При двух строках запрос с телом ушёл дважды с разным title. Команда Newman в задаче помечена как образец, пока её не прогнали у себя.

Вопросы с ответами

Связано с блоком Developer

Связанные темы