Найти в Дзене

Как использовать Postman для API-тестирования? Плюсы и минусы.

Оглавление

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

Основные шаги для использования Postman в API-тестировании

1. Установка Postman

  • Шаг 1: Скачайте Postman с официального сайта (https://www.postman.com/downloads/) и установите на вашу операционную систему (Windows, macOS, Linux).
  • Шаг 2: Зарегистрируйтесь или войдите в свою учетную запись Postman, чтобы синхронизировать коллекции и настройки между устройствами.

2. Создание нового запроса

  • Шаг 1: Откройте Postman и нажмите кнопку NewRequest.
  • Шаг 2: Выберите тип HTTP-запроса: GET, POST, PUT, DELETE, PATCH, и т.д.
  • Шаг 3: Введите URL-адрес API в поле URL.
  • Шаг 4: Если запрос требует параметров, заголовков или тела, перейдите на соответствующие вкладки и добавьте нужные данные.

3. Настройка запроса

  • Headers (Заголовки): Если API требует определенных заголовков (например, Authorization, Content-Type), добавьте их на вкладке Headers.
  • Params (Параметры): Если ваш запрос использует параметры в URL (например, ?key=value), их можно добавить на вкладке Params.
  • Body (Тело запроса): Если вы выполняете запросы POST, PUT или PATCH, вам необходимо указать данные в теле запроса. Это можно сделать на вкладке Body, выбрав подходящий формат: form-data, x-www-form-urlencoded, raw (например, JSON), binary и т.д.

4. Отправка запроса и анализ ответа

  • После настройки всех параметров нажмите кнопку Send.
  • Postman отправит запрос и отобразит ответ API на вкладке Response.

Status (Статус): Показывает HTTP-код ответа (например, 200 OK, 404 Not Found).

Body (Тело): Отображает содержимое ответа (например, JSON-данные).

Headers (Заголовки): Показывает заголовки, которые сервер отправил в ответ.

Time (Время): Показывает, сколько времени потребовалось для получения ответа.

Size (Размер): Показывает размер ответа.


5. Работа с коллекциями запросов

Коллекции в Postman — это наборы запросов, которые можно организовать и переиспользовать.

  • Создание коллекции: Нажмите кнопку NewCollection, дайте коллекции имя.
  • Добавление запросов в коллекцию: После создания запроса, сохраните его в коллекцию, чтобы использовать повторно.
  • Коллекции помогают структурировать запросы по проектам, версиям API или другим категориям.

6. Тестирование и автоматизация

Postman позволяет писать тесты для автоматической проверки ответов API.

  • Тесты пишутся на JavaScript и позволяют проверять различные параметры ответа, такие как статус-код, тело ответа и заголовки.
  • Пример простого теста:
-2

(это же но можно скопировать):

pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});

pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});

pm.test("Response contains name field", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("name");
});

Эти тесты можно добавлять на вкладке Tests для каждого запроса. После отправки запроса Postman выполнит тесты и покажет результат: успешно ли они прошли или нет.

7. Переменные в Postman

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

  • Глобальные переменные: Действуют во всех коллекциях.
  • Переменные окружения: Применяются только в определенном окружении (наборе запросов).
  • Пример использования переменной:
pm.environment.set("token", "your_token_value_here");

Затем можно использовать переменную в запросах:

Authorization: Bearer {{token}}

8. Мониторинг API

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

  • Создание монитора: Выберите нужную коллекцию, укажите частоту выполнения (каждые 5 минут, час, день и т.д.), настройте уведомления (например, по email).

9. Генерация документации

Postman позволяет автоматически генерировать документацию для ваших API на основе коллекций.

  • Создание документации: Выберите коллекцию и нажмите View Documentation. Документация будет содержать все запросы, параметры и примеры ответов.
  • Вы можете сгенерировать публичную ссылку на документацию или экспортировать ее в формате HTML.

10. Интеграция и CI/CD

Postman поддерживает интеграцию с Continuous Integration (CI) и Continuous Deployment (CD) инструментами (например, Jenkins). С помощью команды newman — CLI-инструмента для Postman — вы можете запускать коллекции в автоматическом режиме и включать API-тестирование в ваши CI/CD-процессы.

  • Newman: Это командная строка для выполнения коллекций Postman. Вы можете установить его с помощью npm:
npm install -g newman
  • Запуск коллекции через Newman:
newman run mycollection.json

Вместо заключения - плюсы и минусы Postman

Postman — это универсальный инструмент для тестирования API, который предлагает множество функций для эффективной работы с API: отправка запросов, автоматизация тестов, мониторинг, управление переменными и интеграция с CI/CD. С его помощью можно упростить тестирование и разработку API, сократить количество ошибок и ускорить процесс разработки.

Но, кто работал с этим инструментом, знает, что он не идеален. Давайте посмотрим на плюсы и минусы этого инструмента:

Для начала плюсы Postman:

1. Простота использования:

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

2. Поддержка различных методов HTTP:

Программа поддерживает все основные методы HTTP: GET, POST, PUT, DELETE, PATCH, OPTIONS и другие, что делает её универсальной для работы с API.

3. Коллекции запросов:

Вы можете создавать коллекции запросов, которые удобно сохранять и организовывать. Это полезно для создания наборов тестов и их повторного использования.

4. Поддержка автоматизации:

Postman позволяет писать скрипты на JavaScript для выполнения тестов и проверки ответов API (например, проверка статусов, тела ответа и заголовков).
Возможность интеграции с CI/CD системами через Newman (CLI-версия Postman), что позволяет автоматически выполнять тесты API.

5. Документация API:

Инструмент позволяет генерировать и хранить документацию по API прямо в интерфейсе. Это полезно для совместной работы с командой или внешними разработчиками.

6. Многообразие форматов данных:

Поддержка различных типов данных в запросах и ответах, включая JSON, XML, Form Data, Binary Data и другие. Это позволяет работать с API различных типов.

7. Интеграции:

Postman поддерживает интеграции с различными сервисами, такими как GitHub, Jenkins, Travis CI, и другими, что упрощает процесс разработки и тестирования.

8. Поддержка переменных:

Возможность использовать переменные окружения (environment variables), что делает работу с разными конфигурациями API (например, dev, staging, production) более гибкой.

9. Поддержка команды:

Возможность работы в команде через облачные рабочие пространства. Это позволяет нескольким разработчикам и тестировщикам совместно работать с коллекциями запросов.

Ну и наконец минусы Postman:

1. Ограниченные возможности в бесплатной версии:

В бесплатной версии есть ограничения на количество запросов и командных функций. Например, ограниченное количество сохраненных историй запросов и ограниченный доступ к командным рабочим пространствам.

2. Требовательность к ресурсам:

Postman может потреблять много оперативной памяти, особенно при работе с большими коллекциями запросов или большими объемами данных.

3. Отсутствие тонкой настройки для некоторых операций:

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

4. Сложности с версионированием:

Postman не всегда удобно интегрируется с системами контроля версий (например, Git), особенно если речь идет о совместной работе над коллекциями. В некоторых случаях приходится использовать внешние инструменты для управления версиями коллекций.

5. Закрытая экосистема:

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

6. Ограниченные возможности для тестирования производительности:

Postman не предназначен для нагрузочного тестирования API (например, для моделирования десятков или сотен тысяч параллельных запросов). Для этого лучше использовать специализированные инструменты, такие как Apache JMeter или Gatling.

7. Проблемы с масштабированием:

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

8. Медленные обновления при больших коллекциях:

При работе с очень большими коллекциями запросов или сложными сценариями Postman может работать медленнее или стать менее отзывчивым.

-3

Если Вам интересно, что еще можно найти на канале QA Helper, прочитайте статью: Вместо оглавления. Что вы найдете на канале QA Helper - справочник тестировщика?

Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика

Пишите в комментариях какой пункт было бы интересно рассмотреть более подробно.

Обязательно прочитайте: Что должен знать и уметь тестировщик

Также будет интересно почитать: Вопросы которые задают на собеседовании тестировщикам