Postman Tests и Pre-request: как автоматизировать тестирование API
Вкладки Tests и Pre-request в Postman - мощные инструменты для автоматизации проверок и подготовки запросов. Они позволяют писать скрипты на JavaScript, которые выполняются до или после отправки запроса. Разберём их функции, примеры использования и лучшие практики.
Что такое Pre-request Script в Postman?
Pre-request Script - это код, который выполняется перед отправкой запроса. Он нужен для динамической подготовки данных: генерации токенов, установки переменных окружения или подписи запросов.
Примеры использования Pre-request:
- Автоматическая установка временной метки (
pm.variables.set('timestamp', Date.now())) - Генерация HMAC-подписи для авторизации
- Получение Bearer-токена из предыдущего запроса и подстановка в заголовок
Что такое Tests в Postman?
Вкладка Tests выполняется после получения ответа от сервера. Здесь проверяют статус-код, тело ответа, заголовки и время выполнения. Результаты тестов отображаются в консоли Postman и влияют на прохождение коллекции.
Популярные проверки в Tests:
pm.test('Status code is 200', () => pm.response.to.have.status(200));pm.test('Response time < 200ms', () => pm.expect(pm.response.responseTime).to.be.below(200));pm.test('Body contains user_id', () => pm.response.json().hasOwnProperty('user_id'));
Как работают переменные окружения в связке с Tests и Pre-request
Скрипты в обеих вкладках могут читать и записывать переменные окружения, глобальные и локальные переменные. Например, в Pre-request можно задать pm.environment.set('token', 'abc123'), а в Tests - сохранить полученный ID: pm.collectionVariables.set('userId', pm.response.json().id). Это позволяет строить цепочки запросов с передачей данных.
Где найти обучающие ресурсы по Postman?
Подробно разобраться с функциями Tests и Pre-request помогут следующие источники:
- Официальная документация Postman - learning.postman.com (раздел «Writing scripts»)
- YouTube-канал Postman - плейлист «Postman Learning Center» с практическими примерами
- Курсы на Stepik или Udemy - поищите «Postman API testing» с реальными проектами
Типичные ошибки новичков
- Забывают экранировать кавычки в строках JSON внутри скриптов
- Пытаются использовать
pm.response.json()в Pre-request (доступно только в Tests) - Не проверяют, что переменная окружения уже установлена, перед её чтением
Освоив Tests и Pre-request, вы сможете автоматизировать регрессионное тестирование API, сократить ручные проверки и повысить качество разработки. Начните с простых скриптов и постепенно усложняйте логику.