Отчёты Allure

Локальный pytest пишет raw Allure result files в allure_reports и чистит эту директорию при каждом обычном запуске из-за pytest.ini.

Полный отчёт включён по умолчанию. Компактный режим убирает детали passed-тестов и оставляет полезные failed steps/attachments. Надёжный локальный способ включить его на один запуск — CLI-флаг:

.venv/bin/python -m pytest tests/api -m smoke --allure-failures-only --timeout 2400 -q

Через переменную окружения это тоже работает, но только если .env не содержит ALLURE_FAILURES_ONLY=false. После cp .env.example .env такое значение уже есть, поэтому для постоянного локального compact mode измените .env на ALLURE_FAILURES_ONLY=true или используйте CLI-флаг выше.

Для локальной генерации HTML нужны Java 8+ и Allure CLI 2. CI использует версию 2.34.1. Python-пакет allure-pytest сам HTML не генерирует. После установки CLI выполните:

allure generate allure_reports --single-file --clean -o reports/allure

Готовый файл можно открыть в браузере без сервера. Локальный HTML будет в reports/allure/index.html.

В GitLab API jobs в CI автоматически генерируют reports/allure/index.html даже после падения pytest, сохраняя исходный pytest exit code. Artifacts содержат готовый HTML и JUnit XML; raw allure_reports не публикуются. Artifact TTL — 24 часа.

Чтобы забрать отчёт из GitLab: откройте pipeline, зайдите в нужный API job, в правой панели выберите Browse или Download artifacts и откройте reports/allure/index.html.