Postman — это популярный инструмент для тестирования API, который позволяет разработчикам и тестировщикам взаимодействовать с API, отправлять запросы и анализировать ответы в удобном интерфейсе. С помощью Postman можно автоматизировать тестирование API, создавать коллекции запросов и даже генерировать отчеты.
Основные шаги для использования Postman в API-тестировании
1. Установка Postman
- Шаг 1: Скачайте Postman с официального сайта (https://www.postman.com/downloads/) и установите на вашу операционную систему (Windows, macOS, Linux).
- Шаг 2: Зарегистрируйтесь или войдите в свою учетную запись Postman, чтобы синхронизировать коллекции и настройки между устройствами.
2. Создание нового запроса
- Шаг 1: Откройте Postman и нажмите кнопку New → Request.
- Шаг 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 — это наборы запросов, которые можно организовать и переиспользовать.
- Создание коллекции: Нажмите кнопку New → Collection, дайте коллекции имя.
- Добавление запросов в коллекцию: После создания запроса, сохраните его в коллекцию, чтобы использовать повторно.
- Коллекции помогают структурировать запросы по проектам, версиям API или другим категориям.
6. Тестирование и автоматизация
Postman позволяет писать тесты для автоматической проверки ответов API.
- Тесты пишутся на JavaScript и позволяют проверять различные параметры ответа, такие как статус-код, тело ответа и заголовки.
- Пример простого теста:
(это же но можно скопировать):
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 может работать медленнее или стать менее отзывчивым.
Если Вам интересно, что еще можно найти на канале QA Helper, прочитайте статью: Вместо оглавления. Что вы найдете на канале QA Helper - справочник тестировщика?
Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика
Пишите в комментариях какой пункт было бы интересно рассмотреть более подробно.
Обязательно прочитайте: Что должен знать и уметь тестировщик
Также будет интересно почитать: Вопросы которые задают на собеседовании тестировщикам