Postman
Postman
Что такое Postman
Postman — это графический инструмент для тестирования API, самый популярный среди QA-инженеров. Вместо командной строки ты заполняешь поля в интерфейсе и видишь красиво отформатированный ответ.
Postman доступен бесплатно на Windows, macOS и Linux, а также в браузерной версии.
Ключевые возможности
Конструктор запросов
- Выбор метода: GET, POST, PUT, PATCH, DELETE
- URL с параметрами (Query Params)
- Вкладка Headers — добавить любые заголовки
- Вкладка Body — тело запроса (JSON, form-data, raw text)
- Вкладка Auth — удобная настройка Bearer Token, Basic Auth
Просмотр ответа
- Статус-код и время ответа отображаются сразу
- JSON-ответ автоматически форматируется и подсвечивается
- Вкладка Headers — заголовки ответа
- Вкладка Cookies — куки ответа
Коллекции
Коллекция — это папка с запросами, которые объединены общей темой (например, «Users API», «Orders API»).
Зачем нужны:
- Организуешь сотни запросов по папкам
- Делишься с командой (экспорт в JSON)
- Запускаешь всю коллекцию за один клик (Collection Runner)
Структура коллекции:
📁 E-commerce API
📁 Auth
POST /api/login
POST /api/register
POST /api/logout
📁 Users
GET /api/users
GET /api/users/:id
PATCH /api/users/:id
Переменные и окружения
Переменные позволяют не дублировать одни и те же значения.
Вместо https://api.myapp.com во всех запросах пишешь {{base_url}}. Потом меняешь одно значение переменной — и все запросы обновляются.
Запрос: POST {{base_url}}/api/users
Headers: Authorization: Bearer {{token}}
Окружения — наборы переменных для разных конфигураций:
| Переменная | Dev | Staging | Production |
|---|---|---|---|
base_url | http://localhost:3001 | https://staging.app.com | https://app.com |
token | dev-token-123 | staging-token-456 | (подставляется при логине) |
Переключаешь окружение одним кликом — и все запросы работают с нужным сервером.
Pre-request Scripts
Небольшой JavaScript-код, который выполняется перед отправкой запроса.
Пример: получить токен и подставить его в переменную:
const response = await pm.sendRequest({
url: pm.environment.get('base_url') + '/api/auth/login',
method: 'POST',
header: { 'Content-Type': 'application/json' },
body: { mode: 'raw', raw: JSON.stringify({ email: 'admin@test.com', password: 'Test123!' }) }
});
const token = response.json().token;
pm.environment.set('token', token);
Вкладка Tests — автоматические проверки
После получения ответа запускается JavaScript-код с проверками:
pm.test("Status is 200", () => {
pm.response.to.have.status(200);
});
pm.test("Response has id field", () => {
const body = pm.response.json();
pm.expect(body).to.have.property('id');
});
pm.test("Content-Type is JSON", () => {
pm.response.to.have.header("Content-Type", "application/json; charset=utf-8");
});
После запроса в интерфейсе видишь: ✅ / ❌ для каждой проверки.
Collection Runner
Runner позволяет запустить всю коллекцию или папку разом:
- Все запросы выполняются по порядку
- Видишь общий отчёт: сколько прошло, сколько упало
- Можно задать количество итераций
- Можно подать CSV-файл с данными для параметризованных тестов
Рабочий процесс тестировщика
- Создать коллекцию для проекта
- Добавить запросы по разделам (Auth, Users, Orders…)
- Настроить окружения: dev, staging
- Добавить проверки в Tests для каждого запроса
- Запустить Runner — получить отчёт
Что мы запомним
- Postman — самый популярный GUI-инструмент для тестирования API
- Коллекции помогают организовать и переиспользовать запросы
- Переменные и окружения убирают дублирование и позволяют переключаться между серверами
- Вкладка Tests позволяет писать автоматические проверки на JavaScript
- Collection Runner запускает всю коллекцию и показывает итоговый отчёт