Ответ
В Postman проверка ответа (Response) выполняется через встроенные инструменты и скрипты на JavaScript. Основные аспекты проверки:
1. Статус код (Status Code) Проверка соответствия ожидаемому HTTP-статусу.
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
2. Время ответа (Response Time) Проверка производительности эндпоинта.
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
3. Заголовки (Headers) Проверка наличия и значений необходимых заголовков.
pm.test("Content-Type header is present", function () {
pm.response.to.have.header("Content-Type");
});
pm.test("Content-Type is application/json", function () {
pm.expect(pm.response.headers.get("Content-Type")).to.include("application/json");
});
4. Тело ответа (Body)
Проверка структуры и данных в ответе. Используйте pm.response.json() для JSON.
pm.test("Response body has correct structure", function () {
const jsonData = pm.response.json();
pm.expect(jsonData).to.be.an("object");
pm.expect(jsonData).to.have.property("success", true);
pm.expect(jsonData.data).to.be.an("array");
pm.expect(jsonData.data[0]).to.have.all.keys("id", "name"); // Проверка ключей в первом элементе
});
5. Схема JSON (JSON Schema) Для валидации структуры ответа против схемы.
pm.test("Response matches JSON schema", function () {
const schema = {
"type": "object",
"properties": {
"success": {"type": "boolean"},
"data": {"type": "array"}
},
"required": ["success", "data"]
};
pm.response.to.have.jsonSchema(schema);
});
Дополнительные инструменты:
- Вкладка "Tests" — для написания и выполнения автоматических проверок.
- "Prettify" — для удобного форматирования JSON/XML.
- Визуализация (Visualize) — для построения графиков на основе данных ответа.
- Переменные окружения и коллекции — для параметризации тестов и организации workflow.
Best Practices:
- Выносите повторяющиеся проверки в скрипты коллекции (Collection-level scripts).
- Используйте переменные (
pm.variables) для динамических данных. - Интегрируйте с CI/CD через Newman для автоматического запуска коллекций.