Что такое Allure?

«Что такое Allure?» — вопрос из категории Логирование и отчётность, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Allure — это мощный фреймворк для создания наглядных, интерактивных и структурированных отчётов о выполнении тестов. Я активно использую его в своих проектах для анализа результатов прогона автотестов.

Ключевые возможности, которые я применяю:

  • Визуализация: Генерация отчётов с графиками, диаграммами (пирог, график тренда), статистикой по тест-сьютам и историей запусков.
  • Детализация шагов: Использую @Step аннотации или allure.step() для разбивки теста на логические шаги. Это сильно упрощает анализ падений.
    
    // Пример на Java (TestNG)
    import io.qameta.allure.*;

@Test @Feature("Авторизация") @Story("Успешный вход") public void testSuccessfulLogin() { Allure.step("Открыть страницу логина", () -> openLoginPage()); Allure.step("Ввести валидные креденшелы", () -> enterCredentials("user", "pass")); Allure.step("Нажать кнопку Войти", () -> clickLoginButton()); Allure.step("Проверить редирект в личный кабинет", () -> { assertThat(getCurrentUrl()).contains("/dashboard"); }); }

*   **Прикрепление артефактов:** Добавляю скриншоты, логи, исходный код страницы (HTML) или текстовые данные прямо в отчёт при падении или для ключевых шагов.
```python
# Пример на Python (pytest)
import allure

def test_search():
    ...
    if element_not_found:
        allure.attach(driver.get_screenshot_as_png(), name="Screenshot on failure", attachment_type=allure.attachment_type.PNG)
        allure.attach(driver.page_source, name="Page source", attachment_type=allure.attachment_type.HTML)
  • Интеграция с CI/CD: Настраиваю генерацию Allure-отчёта в пайплайне Jenkins/GitLab CI. После каждого запуска отчёт публикуется как артефакт, и вся команда (разработчики, PO) может сразу видеть результаты.
  • Поддержка экосистемы: Работал с адаптерами для JUnit 4/5, TestNG, pytest, Cucumber, что позволяет использовать Allure в разных стеках.

Итог: Allure превращает сырые логи тестов в понятный инструмент коммуникации для всей команды, помогая быстро изолировать и исправить дефекты.