Ответ вслух Middle API-автотесты обновлено

Ваш API-фреймворк

Вопрос

Расскажите, как устроен фреймворк API-автотестов, который вы писали или поддерживали.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Python, httpx и pytest. Над httpx тонкий слой: базовый клиент с авторизацией и логированием каждого запроса и ответа в Allure, на каждый сервис свой клиент с методами вроде createorder.

Что должно прозвучать в ответе

  • Стек: язык, HTTP-клиент, раннер, валидация схем

  • Слои: клиенты, модели, фикстуры и фабрики данных, тесты

  • Проверки: статус, тело, схема, побочные эффекты, негативные

  • Данные: создаются тестом, уникальны, удаляются в teardown

  • Логирование запросов и ответов в отчёт, конфиг окружений

Что могут спросить следом

  • Как вы проверяете схему?
  • Как тестируете асинхронные операции (очередь, фоновая задача)?
  • Как авторизуетесь?

Разбор

Образцовый ответ: «Python, httpx и pytest. Над httpx тонкий слой: базовый клиент с авторизацией и логированием каждого запроса и ответа в Allure, на каждый сервис свой клиент с методами вроде create_order. Ответы валидирую моделями pydantic, это сразу и схема, и удобный доступ к полям. Данные создают фабрики-фикстуры, имена уникальны, после yield всё удаляется. Проверяю точный статус, важные поля, схему и побочный эффект через GET. Негативные кейсы параметризую. Асинхронные операции жду поллингом с таймаутом. Окружение выбирается опцией --env, секреты из переменных CI»).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме