Отчёты 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.