Postman — платформа для тестирования API с графическим интерфейсом, поддерживающая REST, GraphQL, WebSocket и gRPC протоколы. Инструмент позволяет создавать и отправлять HTTP-запросы, организовывать их в коллекции, автоматизировать тестирование через скрипты и генерировать документацию по эндпоинтам. По данным Postman Learning Center (2026), платформой пользуются более 25 миллионов разработчиков по всему миру.
Главное
Postman — это платформа для разработки и тестирования API, доступная как настольное приложение (Windows, macOS, Linux) и веб-версия. Первоначально созданный как расширение для Chrome в 2012 году, Postman превратился в полноценную экосистему с поддержкой мониторинга, mock-серверов и генерации клиентского кода.
Postman поддерживает все HTTP-методы: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Тело запроса может быть в форматах JSON, XML, form-data, x-www-form-urlencoded и binary. Ответ отображается с подсветкой синтаксиса, Pretty-print и возможностью просмотра сырых заголовков.
Встроенные типы аутентификации включают Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key и AWS Signature. Постман автоматически подставляет заголовки Authorization согласно выбранному типу, что ускоряет тестирование защищённых эндпоинтов без ручного копирования токенов.
Интерфейс Postman состоит из боковой панели (Collections, APIs, Environments), рабочей области (Request Builder/Response Viewer) и нижней панели (Console, Runner). Вкладка Params позволяет редактировать query-параметры URL в табличном виде, вкладка Headers — управлять HTTP-заголовками.
Console (View → Show Postman Console) логирует все сетевые запросы и ответы в хронологическом порядке, включая промежуточные редиректы и заголовки. Это незаменимый инструмент при отладке сложных OAuth-потоков и цепочек редиректов, когда стандартный Response Viewer показывает только финальный результат.
Postman поддерживает командные рабочие пространства (Workspaces) с версионированием коллекций через Fork и Merge. Участники команды могут комментировать запросы, предлагать изменения и синхронизировать коллекции в реальном времени. Public Workspace позволяет публиковать API-документацию для внешних разработчиков.
Базовый запрос в Postman создаётся выбором HTTP-метода и вводом URL в адресную строку. После отправки ответ отображается в нижней панели с кодом статуса, временем выполнения и размером. Параметры запроса автоматически кодируются при вводе.
В URL и теле запроса можно использовать динамические переменные в формате {`{`}}$variable${`}`}. Встроенные переменные {`{`}$guid${`}`}, {`{`}$timestamp${`}`} и {`{`}$randomInt${`}`} генерируют уникальные значения для каждого запроса. Сниппеты кода доступны через кнопку Code (>), которая генерирует эквивалентный запрос на cURL, Python, JavaScript, Kotlin, Swift и других языках.
// Пример скрипта в Pre-request: генерация HMAC-подписи
const timestamp = Date.now().toString();
const secret = pm.environment.get("api_secret");
const hash = CryptoJS.HmacSHA256(timestamp, secret);
pm.request.headers.add({
key: "X-Signature",
value: hash.toString()
});
Коллекции — это группы связанных запросов, объединённых по проекту или функциональному модулю. Каждая коллекция может содержать вложенные папки, общие заголовки и Pre-request скрипты, которые выполняются перед каждым запросом в коллекции. Порядок запросов задаётся перетаскиванием.
Postman поддерживает пять уровней переменных: global, collection, environment, data и local. Приоритет разрешения конфликтов — от локальных к глобальным. Environment-файлы содержат пары ключ-значение для разных сред: development, staging, production. Переключение окружения меняет все URL и токены автоматически.
| Уровень | Область видимости | Приоритет |
|---|---|---|
| Local | Текущий запрос | 1 (высший) |
| Data | Collection Runner (из CSV/JSON) | 2 |
| Environment | Активное окружение | 3 |
| Collection | Вся коллекция | 4 |
| Global | Всё рабочее пространство | 5 |
Postman позволяет писать тесты на JavaScript во вкладке Tests, которые выполняются после получения ответа. Тесты проверяют статус-код, тело ответа, заголовки и время выполнения. Результаты отображаются в панели Test Results с цветной индикацией прохождения.
Объект pm предоставляет методы для работы с ответом: pm.response, pm.expect, pm.variables. Чейнинг запросов реализуется через сохранение данных из ответа одного запроса в переменную и использование её в следующем. Это основа для построения интеграционных тестов и проверки бизнес-логики через последовательность API-вызовов.
// Тест: проверка структуры ответа и сохранение токена
pm.test("Status code is 200", () => {
pm.response.to.have.status(200);
});
const json = pm.response.json();
pm.environment.set("auth_token", json.data.token);
Collection Runner запускает все запросы коллекции последовательно, выполняя тесты на каждом шаге. Newman — консольная версия Postman для CI/CD-пайплайнов (Jenkins, GitHub Actions, GitLab CI). Newman экспортирует отчёт в форматах JSON, JUnit и HTML для интеграции с системами мониторинга.
GraphQL запросы в Postman отправляются через POST на единый эндпоинт с телом в формате JSON. Вкладка GraphQL (Beta) предоставляет визуальный редактор с подсветкой синтаксиса, автодополнением полей и схемой. Переменные запроса передаются в отдельной панели Variables.
Postman поддерживает WebSocket-соединения через отдельный интерфейс с панелью сообщений. Можно отправлять текстовые и бинарные сообщения, просматривать историю соединения и автоматически реконнектиться при разрыве. Socket.IO клиент работает в режиме совместимости с протоколом Engine.IO.
// WebSocket тест в Postman через pm API
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
pm.test("Echo response received", () => {
pm.expect(event.data).to.eql("Hello");
});
};
Mock-серверы Postman позволяют эмулировать API-эндпоинты на основе существующих коллекций. Это полезно, когда бэкенд ещё не готов, а фронтенд или мобильное приложение уже разрабатывается. Mock-сервер возвращает пример ответа из коллекции с корректными заголовками и статус-кодом.
Mock-сервер создаётся из коллекции в один клик: выберите коллекцию → Mock Servers → Add a new mock server. Postman генерирует уникальный URL, который можно использовать в коде приложения вместо реального API. Для каждого запроса коллекции мок возвращает сохранённый Example Response, что позволяет проверять UI до завершения бэкенда.
Monitors запускают коллекцию по расписанию (каждые 5 минут, час или день) и проверяют доступность и корректность API. При падении теста монитор отправляет уведомление на email или в Slack. Мониторинг работает из облака Postman, не требует отдельного сервера и поддерживает до 10 000 запросов в месяц на бесплатном тарифе.
// Тест для мониторинга: проверка времени ответа
pm.test("Response time < 2000ms", () => {
pm.expect(pm.response.responseTime).to.be.below(2000);
});
pm.test("Content-Type is JSON", () => {
pm.response.to.have.header("Content-Type");
});
Postman предоставляет механизмы для безопасной работы с API-ключами. Переменные типа Secret шифруются и не отображаются в интерфейсе. Для командной работы используйте Workspace с ролями Admin, Editor и Viewer.
При создании переменной окружения выберите тип Secret — значение скрывается звёздочками во всех интерфейсах. Секреты не экспортируются в коллекцию при шаринге и не отображаются в логах Newman. Пароли и токены рекомендуется хранить только в Secret-переменных.
Postman поддерживает интеграцию с HashiCorp Vault и AWS Secrets Manager. Скрипты Pre-request могут динамически запрашивать секреты из внешнего хранилища, исключая хранение чувствительных данных в файлах коллекции окружения.
Postman предоставляет механизмы для безопасной работы с API-ключами. Переменные типа Secret шифруются и не отображаются в интерфейсе. Для командной работы используйте Workspace с ролями Admin, Editor и Viewer.
При создании переменной окружения выберите тип Secret — значение скрывается звёздочками во всех интерфейсах. Секреты не экспортируются в коллекцию при шаринге и не отображаются в логах Newman. Пароли и токены рекомендуется хранить только в Secret-переменных.
Postman поддерживает интеграцию с HashiCorp Vault и AWS Secrets Manager. Скрипты Pre-request могут динамически запрашивать секреты из внешнего хранилища, исключая хранение чувствительных данных в файлах коллекции окружения.
Часто задаваемые вопросы
Postman предлагает более широкую экосистему: коллекции, окружения, мониторинг, mock-серверы и Newman для CI/CD. Insomnia фокусируется на лёгкости и скорости с меньшим потреблением памяти. Postman лучше подходит для командной работы, Insomnia — для индивидуального использования.
В Tests первого запроса сохраните токен в environment: pm.environment.set("token", pm.response.json().token). Во втором запросе используйте переменную {`{`}$token${`}`} в заголовке Authorization. Runner автоматически подставит значение при последовательном запуске.
Да, через кнопку Import → Raw Text. Postman автоматически парсит cURL-команду и создаёт запрос с заголовками, методом и телом. Поддерживаются все флаги cURL, включая -H, -d, -F и -u. Обратная конвертация доступна через кнопку Code (<>).
Используйте POST запрос с JSON-телом: {"query": "..."}. Вкладка GraphQL предоставляет визуальный редактор с загрузкой схемы через Introspection Query. Переменные запроса передаются в поле variables того же JSON-объекта.
Newman — это консольная версия Postman для запуска коллекций в CI/CD. Устанавливается через npm, поддерживает HTML-отчёты и интеграцию с Jenkins, GitHub Actions и GitLab CI. Позволяет автоматизировать регрессионное тестирование API без графического интерфейса.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также