Ответ
В Postman ключевые вкладки для тестирования API:
- Params: Для управления query- и path-параметрами URL.
- Authorization: Настройка типа авторизации (Bearer Token, OAuth 2.0, Basic Auth, API Key).
- Headers: Добавление и редактирование HTTP-заголовков запроса.
- Body: Формирование тела запроса. Основные форматы:
raw(чаще всего JSON)form-data(для загрузки файлов)x-www-form-urlencoded
- Pre-request Script: Написание скриптов (JavaScript) для выполнения перед запросом (например, генерация токена или вычисление хеша).
- Tests: Написание скриптов для автоматической валидации ответа (проверка статус-кода, структуры JSON, времени ответа).
- Settings: Конфигурация прокси, SSL-сертификатов и других параметров запроса.
Пример скрипта в Tests:
// Проверка статус-кода
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// Проверка структуры и значения в JSON-ответе
pm.test("Response has correct user ID", function () {
const jsonData = pm.response.json();
pm.expect(jsonData).to.have.property('id');
pm.expect(jsonData.id).to.be.a('number');
pm.expect(jsonData.id).to.eql(123);
});
// Проверка времени ответа
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
}); Ответ 18+ 🔞
А, ну вот, смотри, смотри, смотри! Это ж Postman, блядь! Твой главный инструмент для того, чтобы тыкать палкой в эти ёбаные API, пока они не начнут отвечать как надо. Там вкладок дохуя, но главные — вот эти, запомни, чтобы не ебать мозг.
Сверху, как в старом добром браузере, только адрес пишешь. А по бокам — вся магия.
Params — это, сука, для тех самых вопросиков в URL. ?page=1&filter=all. Или чтобы в сам адрес цифры впихнуть, типа /users/{id}. Всё тут, удобно, блядь.
Authorization — ну тут всё ясно, пизда. Токены всякие, логины-пароли, API ключи. Без этого тебя пошлют нахуй с ответом 401 Unauthorized быстрее, чем ты успеешь сказать «ёпта».
Headers — заголовки, блядь. Там Content-Type: application/json обязательно суй, а то сервер подумает, что ты ему какую-то хуйню в text/plain прислал и обосрётся.
Body — а вот это самое интересное, тело запроса. Тыкаешь в raw и пишешь JSON, как бог. Или если файлы надо отправить — form-data. Или как старые добрые HTML-формы — x-www-form-urlencoded. Выбирай, не ошибёшься.
А теперь, внимание, ебушки-воробушки! Две вкладки, которые делают из тебя не просто обезьяну с палкой, а настоящего автоматизатора, блядь!
Pre-request Script — скрипт, который выполнится перед тем, как запрос улетит. Нужно токен свежий сгенерить? Или хеш какой посчитать? Всё сюда, на JavaScript. Чистая магия, ёпта.
Tests — а это скрипт, который выполнится после ответа. Вот тут ты и проверяешь, не обосрался ли сервер. Статус-код, структура JSON, скорость ответа — всё, что душе угодно.
Settings — ну это для совсем продвинутых, там про прокси и сертификаты. Пока можно забить хуй.
И вот, смотри, пример скрипта в Tests, чтобы ты понял, насколько это просто и мощно, блядь:
// Проверка статус-кода
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// Проверка структуры и значения в JSON-ответе
pm.test("Response has correct user ID", function () {
const jsonData = pm.response.json();
pm.expect(jsonData).to.have.property('id');
pm.expect(jsonData.id).to.be.a('number');
pm.expect(jsonData.id).to.eql(123);
});
// Проверка времени ответа
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
Видишь? Первый тест орёт, если статус не 200. Второй — лезет в ответ, ищет поле id, проверяет, что это число и равно 123. Третий — если ответ приполз дольше чем за полсекунды, тоже недоволен. Запустил запрос — и сразу видишь, зелёные галочки или красные хуи. Красота, в рот меня чих-пых! Вот так из простого запроса делается полноценный тест. Не благодари.