Как использовать коллекции в Postman для тестирования API?
PostmanQAколлекциипеременныетестирование API
Что проверяют
Умеете ли вы превратить набор запросов в повторяемый автоматический прогон, а не просто нажимать Send.
Как отвечать
Коллекция это набор запросов с общими настройками, который можно прогнать целиком и подключить в CI.
Как это устроено на практике:
- окружения и переменные: базовый адрес, токен и идентификаторы вынесены в переменные, одна коллекция гоняется на стенде и в проде без правок;
- скрипты: в
Pre-requestподставляется свежий токен или генерируются данные, вTestsпроверяется ответ:
pm.test("статус 200", () => pm.response.to.have.status(200));
pm.test("схема ответа", () => pm.response.to.have.jsonSchema(schema));
pm.environment.set("jobId", pm.response.json().id);- связывание запросов: созданный на первом шаге идентификатор кладётся в переменную и используется дальше, так собираются сценарии вроде «создать, получить, изменить, удалить»;
- проверка контракта: сверка со схемой ловит расхождения, которых не видно глазами;
- прогон: Collection Runner локально с файлом данных для разных наборов входа,
newmanв CI на каждый мердж с отчётом.
Полезная деталь: держать проверки в самой коллекции, а не в голове, и версионировать её в репозитории рядом с кодом, иначе она устаревает через месяц.
Где спотыкаются
Хранят токен и адрес прямо в запросах, из-за чего коллекция работает только у автора.
Проверяют только код ответа и не смотрят на тело.
Не подключают коллекцию в CI, и она превращается в набор ручных кнопок.
Не чистят созданные данные после прогона, из-за чего повторный запуск падает на дублях.