Ответ
Postman — это инструмент для отправки HTTP-запросов, создания коллекций и автоматизации тестирования API.
Базовый процесс ручного тестирования:
- Создание запроса: Указание метода (GET, POST, PUT, DELETE), URL, заголовков (Headers) и тела запроса (Body), например, в формате JSON.
- Отправка и анализ: Отправка запроса и проверка статус-кода, времени ответа и тела ответа во вкладках "Body", "Headers", "Test Results".
Автоматизация и организация тестов:
- Коллекции (Collections): Группировка связанных запросов (например, по функциональному модулю).
- Переменные (Variables): Использование переменных на уровне коллекции, окружения (Environment) или глобальных для параметризации (базовый URL, токены, тестовые данные).
- Пред- и пост-скрипты (Pre-request and Test Scripts): Написание скриптов на JavaScript для автоматизации.
- Pre-request Script: Выполняется перед отправкой запроса (например, для вычисления хеша или установки переменной).
- Test Script: Выполняется после получения ответа для валидации.
Пример тестового скрипта (Tests) в Postman:
// Проверка статус-кода
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// Проверка структуры и значения JSON-ответа
pm.test("Response has correct data", function () {
const jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("id");
pm.expect(jsonData.name).to.eql(pm.environment.get("expected_user_name"));
});
// Проверка времени ответа
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
Запуск наборов тестов:
- Collection Runner: Запуск всех или выбранных запросов в коллекции внутри GUI Postman.
- Newman: CLI-версия Postman для интеграции в CI/CD пайплайны (например, Jenkins, GitLab CI). Запуск:
newman run my_collection.json.
Дополнительно: Тестируются как позитивные сценарии, так и негативные (ошибки валидации 400, отсутствие прав 403, ошибки сервера 500).