Гид по технологиям

Postman: платформа для разработки и тестирования API

5 min read API Обновлено 12 Dec 2025
Postman — руководство по API-тестированию
Postman — руководство по API-тестированию

Иллюстрация интерфейса Postman

Короткие ссылки

  • Что такое Postman?

  • Использование Postman

Что такое Postman?

Postman называет себя «платформой для разработки API». По сути, это современный REST-клиент с графическим интерфейсом, который делает работу с удалёнными API быстрой и наглядной. Он подходит и для одиночных ручных запросов, и для организации коллекций запросов с автоматическими тестами.

/wordpress/wp-content/uploads/csit/2020/11/ccbb3030.png

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

Основные сценарии использования

  • Ручное тестирование отдельных эндпоинтов.
  • Прототипирование API-запросов (headers, body, auth).
  • Автоматизированные тесты коллекций с проверками ответов.
  • Визуализация результатов и простая агрегация данных.
  • Интеграция тестов в CI (Newman) и шаринг коллекций с командой.

Интерфейс и базовые элементы

В рабочем пространстве у каждого запроса своя вкладка. В верхней части вы задаёте URL и метод, ниже — настройки (Headers, Authorization, Body), справа — тело ответа и результаты.

/wordpress/wp-content/uploads/csit/2020/11/2473ea4f.png

Вы можете переключать режимы отображения (вкладки/колонки) для удобства.

/wordpress/wp-content/uploads/csit/2020/11/3dcf69ee.png

Метод запроса

Метод выбирается в выпадающем списке: GET, POST, PUT, DELETE, PATCH и др. — все HTTP-диаграммы поддерживаются.

Аутентификация

Во вкладке “Authentication” настраиваются ключи и схемы: OAuth 1/2, Bearer Token, Basic Auth и кастомные токены.

/wordpress/wp-content/uploads/csit/2020/11/baf4720b.png

Заголовки

Во вкладке “Headers” добавляются заголовки, например Content-Type. Многие заголовки добавляются автоматически; скрытые заголовки можно просмотреть через кнопку “Hidden”.

/wordpress/wp-content/uploads/csit/2020/11/d9cdd72a.png

Тело запроса

Тело может быть form-data, x-www-form-urlencoded, binary, GraphQL или raw (JSON, текст). Редактор поддерживает подсветку и валидацию JSON.

/wordpress/wp-content/uploads/csit/2020/11/b725726f.png

Тестирование в Postman

Postman позволяет писать проверки на JavaScript, которые выполняются после получения ответа. Это даёт возможность автоматизировать утверждения (assertions) о теле ответа, заголовках и статусе.

/wordpress/wp-content/uploads/csit/2020/11/dbc10644.png

Пример простого теста в Postman:

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

pm.test("Тело содержит поле userId", function () {
  const json = pm.response.json();
  pm.expect(json).to.have.property('userId');
});

После подготовки запроса нажмите кнопку “Send” — в правой панели появится ответ в разных представлениях: Pretty, Raw, Preview. В статусной строке отображаются код ответа, размер полезной нагрузки и время отклика.

/wordpress/wp-content/uploads/csit/2020/11/0d0cf1af.png

Вы также можете переключиться на вкладку “Headers”, чтобы увидеть возвращённые сервером заголовки.

С помощью JavaScript-тестов можно строить простые визуализации — диаграммы и графики для быстрой интерпретации больших объёмов данных.

/wordpress/wp-content/uploads/csit/2020/11/766656d5.png

Коллекции и Collection Runner

Сохранённые запросы организуются в коллекции. Collection Runner позволяет запускать все запросы и тесты внутри коллекции последовательно или параллельно (в зависимости от настройки), что удобно для модульного тестирования API.

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

Коллекции можно экспортировать в JSON и импортировать на другой машине или поделиться через Postman Cloud.

Автоматизация через Newman

Newman — это CLI-инструмент для запуска коллекций в средах CI. Пример запуска коллекции локально:

newman run my-collection.json -e dev-environment.json --reporters cli,junit

В CI вы можете добавить команду запуска Newman в пайплайн (GitHub Actions, GitLab CI, Jenkins). Результаты удобно собирать как артефакты (JUnit) и отображать в системе отчётности.

Мини-методология: как писать надёжные тесты в Postman

  1. Описание: Определите контракт API — ожидаемые поля и форматы.
  2. Arrange: Подготовьте окружение и данные (environment, pre-request scripts).
  3. Act: Выполните запрос.
  4. Assert: Проверьте статус, схему и значения полей.
  5. Tear down: Очистите временные ресурсы (post-request scripts).

Используйте environment variables для разных сред (dev/stage/prod).

Role-based чеклисты

Разработчик

  • Написать пример запроса и response mock.
  • Добавить тесты на успешный и ошибочный сценарий.
  • Документировать параметры и заголовки.

QA

  • Проверить сценарии граничных значений и негативные сценарии.
  • Запустить коллекцию и убедиться в стабильности тестов.
  • Экспортировать отчёты и приложить к баг-репорту.

DevOps

  • Настроить запуск Newman в CI с артефактами.
  • Обеспечить безопасное хранение секретов (не хранить токены в коллекции).
  • Мониторить время выполнения и стабильность тестов.

Product/PO

  • Проверить, что тесты покрывают ключевые пользовательские сценарии.
  • Утвердить критерии приёмки для API-эндпоинтов.

Критерии приёмки

  • Запрос возвращает ожидаемый HTTP-код (например, 200 для успешного GET).
  • Тело ответа соответствует контракту (обязательные поля присутствуют и имеют ожидаемые типы).
  • Заголовки соответствуют требованиям (Content-Type, CORS и пр.).
  • Тесты в коллекции проходят без ошибок в среде staging.

Примеры тест-кейсов/Acceptance

  • Позитивный: GET /users/123 — ожидается 200 и поле id=123.
  • Негативный: GET /users/invalid — ожидается 400/404 и сообщение об ошибке.
  • Авторизация: запрос без токена — ожидается 401.

Безопасность и приватность

  • Никогда не сохраняйте секреты и пароли в публичных коллекциях.
  • Используйте переменные окружения и защищённое хранилище секретов в CI.
  • Для тестовых данных используйте анонимизированные или фейковые записи.

Альтернативы и когда Postman не лучший выбор

Когда Postman подходит плохо:

  • Нужна высокая степень параллелизма и нагрузочное тестирование (лучше JMeter, k6).
  • Требуется тонкая интеграция с кодовой базой и покрытие тестов в коде (в этом случае unit/integration тесты на языке приложения).

Альтернативы: Insomnia (удобный и простой UI), curl (скриптовые, без GUI), k6 (нагрузочное тестирование), SoapUI (SOAP и сложные сценарии).

Советы и хорошие практики

  • Версионируйте коллекции и окружения.
  • Пишите читабельные названия тестов.
  • Используйте Pre-request scripts для подготовки данных.
  • Логируйте ответы при неудаче для диагностики.

Snippet: Pre-request и сохранение переменной

// Pre-request script: сохраняем токен из запроса авторизации
pm.sendRequest({
  url: pm.environment.get('authUrl'),
  method: 'POST',
  header: 'Content-Type:application/json',
  body: { mode: 'raw', raw: JSON.stringify({ username: 'test', password: 'pwd' }) }
}, function (err, res) {
  if (!err && res.code === 200) {
    const token = res.json().access_token;
    pm.environment.set('accessToken', token);
  }
});

Примеры интеграции в CI (GitHub Actions)

Пример шага в GitHub Actions для запуска Newman:

- name: Run Postman tests
  run: |
    npm install -g newman
    newman run my-collection.json -e dev-environment.json --reporters cli,junit --reporter-junit-export results.xml

Короткая диаграмма принятия решения

flowchart TD
  A[Нужно быстро проверить API?] -->|Да| B[Использовать Postman GUI]
  A -->|Нет| C[Нужно нагрузочное тестирование]
  C --> D[k6 / JMeter]
  B --> E[Автоматизировать → Newman в CI]

Сводка

Postman — универсальный инструмент для мануального и автоматизированного тестирования API, удобный для быстрой отладки запросов, написания JavaScript-тестов и интеграции с CI через Newman. Он не заменит специализированные средства нагрузочного тестирования, но отлично дополняет процесс разработки, QA и деплоя.

Важное: храните секреты безопасно, используйте environment variables и пишите стабильные тесты с явными критериями приёмки.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как исправить ошибку записи диска в Steam
Руководство

Как исправить ошибку записи диска в Steam

Изменить папку скриншотов в One UI 5.1
How-to

Изменить папку скриншотов в One UI 5.1

Звук запуска Windows 7 — включение, отключение, замена
Windows

Звук запуска Windows 7 — включение, отключение, замена

Искать по комментариям в Excel
Excel

Искать по комментариям в Excel

Отключить обновление драйвера в Windows 10
Windows

Отключить обновление драйвера в Windows 10

Как эффективно использовать стоковые видеоматериалы
Видеопроизводство

Как эффективно использовать стоковые видеоматериалы