Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Код

Что такое Postman и как его использовать в тестировании API

Тестирование Время чтения статьи ~10 минут 12
Что такое Postman и как его использовать в тестировании API главное изображение

Postman — главный инструмент QA-инженера. С его помощью можно отправлять запросы к API, чтобы тестировать и документировать работу бэкенда сайта. Рассказываем, как правильно пользоваться Postman и из чего он состоит.

Что такое Postman

Когда пользователь ищет товар в интернет-магазине, код фронтенда посылает запрос к API сайта. А тот в ответ отправляет найденные в базе данных товары.

API — это набор правил, с помощью которых программы обмениваются данными друг с другом. API создают бэкенд-разработчики.

Как только API написан, программисты проверяют его на работоспособность. Если лицевую часть приложения просто открывают в браузере и имитируют шаги пользователя, то получить доступ к бэкенду нельзя, так как визуального интерфейса у него нет.

Для визуализации интерфейса используют Postman — программу, через которую можно отправлять запросы к API. Если полученные ответы соответствуют ожидаемым — тестируемый сервис работает правильно. Если нет, QA-инженер составляет отчет об ошибке — баг-репорт и отправляет разработчику для исправления проблемы.

Автотестирование на JavaScript c нуля

Попробуйте себя с 5 бесплатных уроков

Преимущества Postman

Postman — не единственный сервис, позволяющий обращаться к API, но один из самых популярных. Его создал индийский программист Абхинав Астана в 2012 году.

Изначально приложение работало как расширение для Chrome. Затем появилась полноценная кроссплатформенная программа и узнаваемый логотип — летящий космонавт.

Ключевые преимущества Postman:

  • Цена. Бесплатная версия программы имеет весь необходимый функционал. Платная стоит от 14 долларов за пользователя, но многим разработчикам достаточно и базового набора возможностей.
  • Удобство. У Postman понятный графический интерфейс, в котором несложно разобраться, есть подсветка синтаксиса, возможность создавать и хранить автотесты.
  • Большое комьюнити. Этот сервис — один из старейших, поэтому весь функционал хорошо задокументирован, в нем работают миллионы пользователей, которые помогают друг другу.
  • Многофункциональность. Postman поддерживает все популярные типы архитектуры для API: REST, GraphQL и SOAP. Также есть возможность интегрировать его в Swagger, RAML и другие инструменты для тестирования.

А теперь разберем функционал Postman подробнее. Сейчас у Postman есть расширение для Chrome и версия для декстопа под все популярные операционные системы. Мы будем использовать второй вариант.

Как устроен Postman

Скачайте программу и зарегистрируйтесь в ней. Первым делом нужно создать рабочее пространство: в нем мы будем писать запросы и хранить историю.

В Postman есть четыре вида пространств:

  1. Персональное — доступно только пользователю.
  2. Командное — для групповой работы.
  3. Публичное — могут просматривать все.
  4. Приватное — его можно открыть для отдельных членов команды (только в платной версии).

Создав персональное пространство, вы увидите рабочую область.

  1. Верхняя панель — в ней можно создавать новые запросы, окружения или коллекции. Также она отвечает за импорт документов, переключение рабочей области.
  2. Вертикальная панель слева — инструменты для просмотра истории, сохраненных запросов и коллекций.
  3. Адресная строка — там нужно выбрать тип запроса и ссылку.
  4. Рабочая зона под ней — в ее вкладках пишут текст запросов.
  5. Нижняя зона — там отображаются детализированные ответы на запросы.

А теперь пройдемся по основным инструментам Postman, которые находятся на вертикальной панели.

  1. Collections — пользовательские коллекции запросов, их можно систематизировать, складывая в папки.
  2. APIs — тут будут отображаться разные API, к которым подключались через Postman.
  3. Environments — окружения, в них также можно хранить переменные.
  4. Mock Servers — через эту кнопку создают тестовые сервера.
  5. Monitors — датчик состояния API, который передает информацию о производительности и сбоях.
  6. Flows — настройка приложений в визуальном редакторе.
  7. History — история, в которой хранят запросы и документацию к ним.

Как пользоваться Postman и составлять запросы

Чтобы сделать первый запрос, в открытой рабочей области нажмите на плюсик.

Откроется поле, в котором можно писать запросы.

Там можно заполнить:

  • Тип метода — по умолчанию стоит GET, его используют для получения данных с сервера.
  • Адресная строка — в нее нужно вписать адрес, по которому доступно API.
  • SEND — кнопка для отправки запроса.
  • Params — в этой вкладке можно вписать параметры запроса, о них мы поговорим ниже.

Попробуем использовать GET — метод для получения ресурса по id. Введем в строку адрес тестового API — https://jsonplaceholder.typicode.com/posts. И далее нажимаем кнопку Send.

У нас появился статус 200 ОК — это значит, что запрос успешно выполнен. А в нижнем поле мы получили подробности об ответе.

Как тестировать запросы

Мы разобрали, как работает конструктор запросов. С его помощью можно проверять как собственное API, так и сторонних сервисов. Мы будем использовать тот же публичный тестовый API.

Для создания любого запроса нужен как минимум адрес и метод. Список методов:

  • GET. Используют для получения информации. Через него делают запросы к конкретным ресурсам. А дополнительные данные в нем могут передаваться прямо в адресной строке запроса.
  • POST. Применяют для внесения новой информации на сервер. Через него можно посылать как данные в стандартном двоичном коде, так и разные типы файлов. Этот метод применяют во время регистрации или авторизации пользователя.
  • PUT. Метод отвечает за добавление новой информации или внесение изменений на сервер.
  • DELETE. Используют, чтобы удалить данные. Необходимо применять его правильно, в противном случае есть вероятность ошибок из-за удаления критически важных файлов.

Воспользуемся методом POST и создадим нового пользователя. Эта задача уже сложнее: нам потребуется отправить на сервер любые данные.

Переходим во вкладку body и JSON, а затем копируем информацию о любом пользователе из предыдущего задания. Получаем ответ — 201 Created. У нас все получилось.

А теперь поговорим о статусах. Это первый, хотя и не единственный результат проверки. Статус — это трехзначный код, первая цифра показывает, к какой группе он принадлежит.

  • 1ХХ — возвращается с уведомлениями, они носят исключительно информационный характер.
  • 2ХХ — сигнализирует, что запрос был обработан успешно. Например, как указанный выше 201.
  • 3ХХ — приходят, когда сервер перенаправляет клиента. Например, 302 Found возвращается после аутентификации пользователя, когда он переходит на другую страницу.
  • 4ХХ — некорректный запрос со стороны клиента. Например, 400 Bad Request — если в коде опечатки, 403 Forbidden — у клиента нет нужных прав, 404 Not Found — запрошенных данных нет на сервере.
  • 5ХХ — ошибка на стороне сервера. Например, 500 Internal Error говорит о том, что сервер не может обработать присланный запрос.

QA-инженер с нуля до автоматизатора

Рекомендуем начать с бесплатных уроков

Как создавать тесты в Postman

Тесты — это скрипты, которые помогают удостовериться, что API работает корректно. В Postman можно создать такие автоматические тесты за несколько шагов на основе готовых сниппетов (заранее написанных скриптов). Для этого вернемся к предыдущему запросу и перейдем во вкладку «Test».

В боковой панели справа найдем список под «Snippets», нажмем на «Status code: Code is 200».

У нас появится код, с его помощью можно проверять запрос на исполнение.

Нажмите отправить и получите в ответ результаты теста.

Как запускать коллекции тестов

Начнем с создания коллекции для сохранения готовых решений. Откройте на боковой панели слева соответствующую вкладку. Нажмите на плюсик и создайте новую коллекцию.

Там будет четыре вкладки, на которые нам нужно обратить внимание:

  1. Authorization. В ней прописывают общие параметры и метод, чтобы в дальнейшем они применялись для всех запросов, входящих в эту коллекцию.
  2. Pre-request Script. Сюда пользователь должен поместить скрипт на JS. Приложение исполнит его перед любой отправкой запроса. Но уметь писать автоматические тесты не обязательно, можно использовать готовые сниппеты.
  3. Tests. Выполняет код уже после того, как запрос будет выполнен. Он также может работать на основе готовых сниппетов.
  4. Variables. В этой вкладке создают переменные, которые после применяют во всей коллекции, вызывая их через название в таком виде {{имя}}.

Чтобы запустить коллекцию тестов, зайдите во вкладку «Коллекции», выберите необходимую коллекцию и в выпадающем списке выберите «Run Collection».

Справа будут варианты настройки. Нужно выбрать количество итераций (Iteration) и задержку (delay).

Запускать скрипты без задержки не рекомендуют, так как это может привести к ошибочным результатам.

Затем нажмите кнопку «Run New Collection» и получите отчет о выполнении.

Как работают запросы в Postman

Потренировавшись самостоятельно писать запросы, можно подробнее разобрать, как работают эти запросы.

В нижней части приложения мы видим поле «Response», в которое приходит ответ. У него есть три вкладки:

  • Pretty — вкладка, которая открывается по умолчанию. В ней есть подсветка синтаксиса и отступы, читать такой код максимально удобно.
  • Raw — «голый» код без структурирования.
  • Preview — предварительный просмотр кода страницы.

Когда мы посылали запрос методом POST, нам нужно было указать данные. Для этого использовали вкладку «Body». Она принимает разные типы данных, выбор решения будет зависеть от API.

По умолчанию в Postman стоит значение «raw» — это значит, что приложение само определяет заголовок в зависимости от того, что пишет пользователь. Но можно выбирать и другие варианты.

  • Form-data — используют для ресурсов, которые отправляют данные через multipart/form-data. Для этого нужно прописать ключ, значение и содержимое.
  • Raw — применяют для всего, что можно ввести в качестве текста. Есть возможность выбрать формат: XML, JavaScript или JSON. Если это сделать, появится подсветка синтаксиса. Всем переменным, которые пользователь применит в запросе, Postman заполнит значения автоматически.
  • Binary — позволит отправить данные, которые невозможно заполнить в редакторе. Это относится к текстовым или видеофайлам.
  • GraphQL — это отдельный язык запросов и собственная серверная среда для API. Postman позволяет использовать его наравне с более привычной REST-архитектурой.

Главное о Postman

Postman — один из самых распространенных сервисов для тестирования API и создания запросов. Большинство QA-инженеров регулярно им пользуются. Это такой же обязательный инструмент профессии, как и среда разработки для программистов.

Начать работать с Postman несложно, это приложение максимально дружелюбно к новичку. Его основное достоинство — простой графический инструмент.

У приложения есть бесплатная версия, которая незначительно отличается от платной. Основная сущность в Postman — запрос, позволяющий получить, отправить или удалить данные из API.

Познакомьтесь с тестированием бесплатно

Начать с 5 бесплатных уроков

Аватар пользователя Анастасия Уминская
Анастасия Уминская 22 декабря 2023
12
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря