Программирование • 28 января 2025 • 5 мин чтения

Как пользоваться Postman для тестирования API

Объясняем, что такое Postman и как он помогает в тестировании API. Рассказываем, как настроить инструмент, работать с запросами, создавать и запускать коллекции тестов.

Что такое Postman и как им пользоваться

Postman — это программа для тестирования API (Application Programming Interface) и REST (Representational State Transfer), упрощающая процесс отладки и тестирования кода. Через него тестировщики отправляют различные http-запросы к приложениям, получают и проверяют ответы. Это позволяет проверять, правильно ли работает приложение. При этом Postman подходит только для тестирования API бэкенда. Говоря простыми словами, с его помощью можно тестировать, как работают внутренние механизмы приложения, но не то, как отображаются внешние страницы.

Интерфейс программы. Источник: Postman

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

У программы есть бесплатная версия и несколько платных тарифов. Для решения большинства задач достаточно бесплатного функционала. Платные варианты подходят для команд, в которых больше трёх человек, а также для тех, кому нужны дополнительные возможности. Например, тариф Professional, который стоит 49 долларов США в месяц, позволяет собирать аналитику и составлять отчётность по работе пользователей, безопасности и счетам.

Все запросы, тесты и коллекции хранятся в облаке Postman. Это упрощает его использование и даёт возможность совместной работы для нескольких тестировщиков. Однако из-за облачного хранения программу не всегда подходит для крупных компаний, которые не хотят подвергать риску собственные данные. Поэтому чаще её используют небольшие и средние команды.

По сути, Postman — это основной инструмент, который используется, чтобы тестировать API. При этом программа подходит и для бытовых нужд. Например, с её помощью можно написать запрос, который будет в режиме автоматизации проверять стадию готовности паспорта или визы. Это проще, чем каждый раз вводить данные заявителя вручную.

Разобраться, как применять Postman и другие инструменты для тестирования API сайтов и приложений, поможет курс «Инженер по тестированию». За пять месяцев занятий можно с нуля изучить DevTools, Android Studio, SQL и другие программы, которые необходимы для создания и проведения тестов. А также собрать портфолио из восьми проектов, которые помогут в поиске работы.

Установка и настройка Postman

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

1. Необходимо скачать программу с официального сайта и установить на компьютер, предварительно выбрав версию для своей операционной системы.
2. После открытия установочного файла Postman предлагает зарегистрироваться или авторизоваться, если у пользователя уже есть аккаунт. Для новой регистрации программа автоматически открывает сайт.
3. После создания аккаунта необходимо авторизоваться в приложении. На этом этапе нужно указать имя, которое будет отображаться в программе, и роль в команде.
4. Теперь можно пользоваться программой.

Рабочее пространство Postman

Следом необходимо настроить программу, чтобы с помощью неё было удобно проводить тестирование API. Прежде всего, полезно настроить окружение (Environment) — набор переменных, в которых будет работать Postman. В переменные можно записать, например url-адреса, конфигурации баз данных или учётные данные. Это позволит не вводить каждый раз информацию вручную, а вызывать её из программы.

Чтобы записать значение в переменные окружения в Postman, можно использовать скрипт с использованием метода pm.environment.set(). Например, так:

pm.environment.set("variable_key","variable_value")

Чтобы в дальнейшем использовать эти переменные в коллекциях или полях запросов, их нужно заключить в двойные фигурные скобки ({{variable_name}}). Программа заменит их соответствующими значениями.

Также полезно настроить получение ожидаемых ответов. Для этого нужно настроить проверки. Например, код проверки ответа 200 в Postman будет таким:

pm.test("код ответа 200", function () {pm.response.to.have.status(200)});

Как тестировать API

Для начала работы с API в Postman тестировщику нужно определиться, какой функционал он проверяет, и написать тест-кейсы. Они описывают процесс тестирования: что и как нужно тестировать и какие тестовые случаи рассматриваются.

Возьмём для примера проверку работы сайта при добавлении товара в «Избранное». Тестировщику нужно описать пошагово этот процесс: создание товара, добавление его в каталог, перемещение в «Избранное» и проверка того, что он действительно там появился. Приведём пример тест-кейса.

Цель: проверить, что функция добавления товара в «Избранное» работает корректно.

Предусловия
● Доступ к сайту с функцией добавления товаров в «Избранное».
● Наличие учётной записи пользователя на сайте.
● Возможность добавлять товары в каталог и в «Избранное».

Шаги
1. Создание товара:
● Перейти на страницу создания товара.
● Ввести название товара, описание, цену и другие необходимые данные.
● Нажать кнопку «Создать товар».

2. Добавление товара в каталог:
● Найти созданный товар в каталоге.
● Убедиться, что товар отображается корректно.

3. Перемещение товара в «Избранное»:
● Кликнуть на значок «Добавить в избранное» рядом с товаром.
● Подтвердить действие (например, нажав «ОК»).

4. Проверка наличия товара в «Избранном»:
● Вернуться на страницу «Избранное».
● Проверить, что созданный товар действительно отображается в списке «Избранное».

5. Дополнительные проверки:
● Перезагрузить страницу «Избранное», чтобы убедиться, что товар сохраняется в списке после перезагрузки.
● Удалить товар из каталога и проверить, что он всё равно отображается в «Избранном».

6. Ожидаемый результат:
● Созданный товар корректно отображается в каталоге и в списке «Избранное».
● Товар сохраняется в «Избранном» после перезагрузки страницы и удаления из каталога.

7. Потенциальные проблемы:
● Некорректное отображение товара в каталоге или в «Избранном».
● Отсутствие сохранения товара в «Избранном» при перезагрузке страницы.

8. Способы решения проблем:
● Повторное выполнение шагов для выявления и устранения ошибок.
● Проверка правильности ввода данных при создании товара.

9. Критерии успешного прохождения тест-кейса:
● Все шаги выполнены успешно.
● Ожидаемый результат достигнут.

10. Фиксация результатов:
● Зафиксировать результаты теста в виде отчёта.
● Отметить любые отклонения от ожидаемого результата.

Следом необходимо создать запросы, чтобы для тестирования API через Postman. Вот пример того, как это можно сделать.

1. Запрос на добавление товара в «Избранное»:

Метод: POST.
URL: /api/v1/favorites.
Headers: Authorization: Bearer <token>, Content-Type: application/json.
Body: {
"product_id": <идентификатор товара>,
"user_id": <идентификатор пользователя>
}

Пример успешного ответа (201 Created):

{
"message": "Product successfully added to favorites.",
"data": {
"product_id": 12345,
"user_id": 67890,
"is_favorite": true,
"added_at": "2025-01-22T10:15:30Z"
}
}

Пример ответа при ошибке (400 Bad Request):

{
"error": "Invalid request body. Please provide a valid product_id and user_id."
}

Пример ответа при отсутствии авторизации (401 Unauthorized):

{
"error": "Unauthorized. Please provide a valid authentication token."
}

2. Запрос на удаление товара из избранного:

Метод: DELETE.
URL: /api/v1/favorites/{product_id}.
Headers: Authorization: Bearer <token>.

Пример успешного ответа (200 OK):

{
"message": "Product successfully removed from favorites.",
"data": {
"product_id": 12345,
"user_id": 67890
}
}

Пример ответа, если товар не найден (404 Not Found):

{
"error": "Product not found in favorites."
}

3. Запрос на получение списка избранного:

Метод: GET.
URL: /api/v1/favorites.
Headers: Authorization: Bearer <token>.

Пример успешного ответа (200 OK):

{
"message": "Favorites retrieved successfully.",
"data": [
{
"product_id": 12345,
"product_name": "Smartphone XYZ",
"is_favorite": true,
"added_at": "2025-01-20T14:35:00Z"
},
{
"product_id": 67890,
"product_name": "Wireless Headphones ABC",
"is_favorite": true,
"added_at": "2025-01-21T09:10:15Z"
}
]
}

Пример ответа при отсутствии избранных товаров (200 OK):

{
"message": "No favorites found.",
"data": []
}

4. Запрос на обновление статуса избранного товара:

Метод: PUT.
URL: /api/v1/favorites/{product_id}.
Headers: Authorization: Bearer <token>, Content-Type: application/json.
Body: {
"is_favorite": true/false
}

Пример успешного ответа (200 OK):

{
"message": "Favorite status updated successfully.",
"data": {
"product_id": 12345,
"user_id": 67890,
"is_favorite": false,
"updated_at": "2025-01-22T11:00:00Z"
}
}

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

Работа с запросами в Postman

Для тестирования API через Postman используются несколько типов запросов: 

  • GET — получение данных с сервера. Основной метод запроса, который используется в программе по умолчанию. Применяется, например, для получения списка товаров, категорий, пользователей и других сущностей или для просмотра подробной информации о конкретном объекте.
  • POST — отправка данных на сервер. Подходит, чтобы тестировать работу API на создание и изменение данных, допустим, новых записей, сохранения изменений в существующих записях или отправки форм.
  • PUT — обновление данных на сервере. Работает, например, для проверки изменений информации о пользователе, товаре, заказе или статусе доставки.
  • PATCH — частичное обновление данных на сервере. В отличие от PUT проверяет изменения только некоторых полей в записях или одном запросе.
  • DELETE — удаление данных с сервера. Используется в Postman для тестирования таких процессов API, как удаление записи пользователя, товара или заказа, очистка корзины покупок или отмена подписки.
Чтобы создать новый запрос в Postman, необходимо кликнуть на кнопку «New», выбрать метод, указать url и другие необходимые параметры, после чего нажать Send
Новичкам для работы с запросами в Postman пригодится Swagger — сервис документации API, который визуализирует методы тестирования. Проще говоря, это шпаргалка, из которой можно копировать готовые запросы и использовать в программе.

Создание и запуск коллекций тестов

При работе с Postman полезно сразу организовать запросы, с которыми работает инженер по тестированию, по логическим параметрам, то есть собрать их в коллекции. Например, можно сформировать коллекции по проектам, сервисам или разделам API.

Чтобы создать новую коллекцию запросов к API в Postman, необходимо кликнуть на соответствующую кнопку в разделе коллекций или нажать плюс в верхнем левом меню

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

Для того чтобы запустить коллекцию запросов в Postman в режиме автоматизации, необходимо выбрать её в боковой панели. Вызвать опции можно, кликнув на название правой кнопкой мыши или нажав три точки справа от него. В появившемся списке нужно выбрать опцию «Run collection». Программа выполнит все запросы к API в коллекции и покажет результаты каждого теста.

Совет эксперта

Василий Беляков

  1. Начните с понимания, что такое API и как они работают.
  2. Практикуйтесь с реальными API. Можно использовать бесплатные API, такие как JSONPlaceholder (открывается при смене локации в браузере) или ReqRes, чтобы потренироваться отправлять запросы и анализировать ответы.
  3. Освойте коллекции в Postman для группировки запросов.
  4. Изучите переменные (глобальные, окружения, локальные) для динамического тестирования.
Статью подготовили:
Василий Беляков
Яндекс Практикум
Инженер по обеспечению качества, наставник
Женя Соловьёва
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться
Как найти работу после онлайн-курсов в 2025: советы реальных выпускников. Бесплатный вебинар 27 февраля
Tue Feb 11 2025 18:53:30 GMT+0300 (Moscow Standard Time)