Как вы используете коллекции в Postman для тестирования API?

«Как вы используете коллекции в Postman для тестирования API?» — вопрос из категории Инструменты тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Коллекции в Postman — это основной инструмент для организации, выполнения и автоматизации тестов API. Мой опыт включает:

1. Организация и структурирование:

  • Создание иерархии папок внутри коллекции по бизнес-модулям (например, Auth, User Profile, Orders).
  • Группировка запросов по сценариям (например, CRUD для сущности Product).

2. Автоматизация тестирования:

  • Написание скриптов проверок (Tests) на JavaScript (используя библиотеку pm).
  • Использование Pre-request Scripts для настройки данных перед запросом (генерация токенов, подготовка payload).
  • Цепочки запросов: передача данных между запросами через переменные (например, сохранение auth_token из ответа входа для последующих запросов).

Пример скрипта в Tests:

// Проверка статус-кода и структуры JSON-ответа
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

pm.test("Response has expected fields", function () {
    const jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property("id");
    pm.expect(jsonData).to.have.property("name");
    pm.expect(jsonData.name).to.be.a("string");
});

3. Параметризация и запуск:

  • Использование Environments для управления переменными (base URL, учетные данные) для разных сред (Dev, Stage, Prod).
  • Запуск коллекций через Collection Runner для выполнения всего набора запросов последовательно.
  • Data-driven тестирование: подключение CSV/JSON файлов для подачи тестовых данных в запросы.

4. Интеграция и CI/CD:

  • Экспорт коллекций и окружений для запуска через CLI-утилиту Newman.
  • Интеграция прогонов в пайплайны CI (Jenkins, GitLab CI).

Коллекции позволяют превратить набор разрозненных HTTP-запросов в воспроизводимый, документированный и автоматизированный test suite.