# Установка
pip install pytest allure-pytest
# + установить Allure CLI отдельно (см. theory.html)
# Запуск тестов
pytest --alluredir=allure-results
# Просмотр отчёта
allure serve allure-results
# Генерация статического отчёта
allure generate allure-results -o allure-report --clean
allure open allure-report
# Шаги в тесте
with allure.step("Описание шага"):
# действие
# Декоратор на методе
@allure.step("api. Получить список '{id}'")
def get_item(self, id): ...
# Вложение
allure.attach(content, name="Заголовок", attachment_type=allure.attachment_type.TEXT)
# Запустить все тесты и сохранить данные
pytest --alluredir=allure-results
# С подробным выводом
pytest -v --alluredir=allure-results
# Только тесты с определённой меткой pytest
pytest -m smoke --alluredir=allure-results
# Только тест по имени
pytest -k "test_get_companies" --alluredir=allure-results
Структура проекта с Allure
project/
├── api/
│ └── company_api.py # Класс CompanyApi с @allure.step на методах
├── db/
│ └── company_table.py # Класс CompanyTable с @allure.step на методах
├── tests/
│ └── test_x_clients_db.py # Тесты с разметкой Allure
├── allure-results/ # Сырые данные (генерируется pytest)
├── allure-report/ # HTML-отчёт (генерируется allure generate)
└── conftest.py # Фикстуры pytest (при необходимости)