Тестирование API c Postman
Теория: Тесты
Одной из наиболее полезных функций Postman являются тесты, которые позволяют автоматизировать процесс тестирования и гарантировать, что API работает правильно.
Конечно, можно отправлять запросы вручную и проверять результаты, но этот подход становится затруднительным и неэффективным по мере роста проекта. Он также подвержен ошибкам, так как тут в дело вступает человеческий фактор. Тесты в Postman позволяют автоматизировать этот процесс, делая его более надежным и повторяемым.
В этом уроке мы рассмотрим, как писать тесты в Postman и как они работают. Мы узнаем, как проверять статус ответа, его заголовки и тело. По окончании урока вы будете уметь тестировать свои API с помощью Postman и гарантировать их стабильность и надежность.
Написание простого теста в одном запросе
Базовой единицей тестирования в Postman является запрос. Каждый запрос тестирует определенную часть функциональности, вызывая конечную точку API и проверяя ответ. Вы можете проверять различные данные в ответе: статус, тело, заголовки, куки
Чтобы написать тест, откройте запрос, к которому вы хотите написать тест, перейдите на вкладку Scripts и внутри нее откройте вкладку Post-response. Перед вами откроется редактор кода, в котором вы можете писать тестовые скрипты. Среда выполнения в Postman построена на основе Node.js, поэтому тестовые скрипты пишутся на языке JavaScript
Не расстраивайтесь, если вы плохо знакомы с JavaScript. Боковая панель в редакторе содержит тестовые сниппеты практически на все случаи жизни. Вы можете выбрать из списка один или несколько подходящих сниппетов и уже предварительно написанный блок кода будет вставлен в редактор. Вам останется только подредактировать его под свои условия
Напишем наш первый тест, который проверит статус код ответа. Запишите в редактор код ниже и нажмите Save, чтобы сохранить изменения в запросе:
Посмотрим подробнее, что здесь происходит
При помощи функции pm.test() определяется тест. Первый параметр функции — это строка, которая появляется в результатах теста. Она используется, чтобы идентифицировать ваши тесты и сообщить цель теста всем, кто просматривает результаты
Второй параметр — функция, которая возвращает логическое значение и определяет, прошел тест или нет. Внутри этой функции используются матчеры, которые являются ключевой частью теста. Именно они проверяют функциональность
Матчер начинается с функции pm.expect(data), в которую передаются данные на проверку. Затем expect() возвращает специальный объект, у которого уже можно вызывать различные методы для проверки
Здесь pm.response — это объект, который позволяет получить доступ к данным ответа
Postman содержит большое количество матчеров для проверки различных ситуаций. С полным списком можно ознакомиться в документации. Рассмотрим наиболее часто используемые ситуации.
Предположим, мы хотим проверить структуру данных в ответе. Это можно сделать при помощи матчера to.have.property()
Проверка, что данные в теле ответа соответствуют конкретным значениям:
Проверка заголовков ответа:
Запуск тестов
После того как тесты написаны, их можно запускать
Запуск одиночного теста
Запуск одиночного теста может быть полезным в некоторых ситуациях. Например, вы можете быстро убедится, что изменение кода устраняет конкретную ошибку в одном эндпоинте
Чтобы вручную запустить один тест, сделайте следующее:
-
Выберите Collections на боковой панели и откройте запрос с тестом, который вы хотите запустить.
-
Настройте запрос, если это необходимо, и нажмите кнопку Send
-
В поле с результатами ответа откройте вкладку Test Results, чтобы просмотреть результаты теста
Запуск набора тестов
Если наши запросы организованы в коллекции, мы можем запустить тесты сразу для всех запросов из коллекции в выбранном порядке. Postman позволяет сделать это с помощью "Collection Runner":
-
В левом меню выберите Collections и найдите коллекцию, содержащую ваши запросы.
-
Нажмите на иконку Runner в правом верхнем углу
-
Выберите коллекцию и настройте параметры запуска (например, количество итераций). Здесь вы также можете выбирать, какие запросы будут выполнены в рамках запуска и настроить порядок выполнения запросов. Для изменения порядка зацепите запрос в списке и перетащите его на нужное место
-
Нажмите Run для выполнения всех запросов в коллекции. Результаты тестов будут отображены в режиме реального времени.
В этом уроке мы изучили, как создавать и запускать тесты в Postman. Тестирование является важной частью разработки программного обеспечения, и тесты в Postman являются отличным инструментом для автоматизации этого процесса. Тестирование - это большая тема, и Postman предлагает множество возможностей для тестирования вашего API. В этом уроке мы рассмотрели только основы, но даже базовые тесты, которые мы научились создавать, помогут вам находить ошибки и проблемы в вашем API на ранней стадии разработки.





