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, сократить ручные проверки и повысить качество разработки. Начните с простых скриптов и постепенно усложняйте логику.

    Часто задаваемые вопросы