Что такое Allure Framework и как его используют в тестировании?

«Что такое Allure Framework и как его используют в тестировании?» — вопрос из категории Тестирование, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Allure Framework — это инструмент для создания интерактивных и наглядных отчётов о выполнении автотестов. Он агрегирует данные из популярных тестовых фреймворков (JUnit, TestNG, pytest и др.) и представляет их в виде веб-отчёта с детализацией по шагам, вложениям и метаданным.

Ключевые возможности:

  • Аннотации для структурирования: Позволяют добавлять описание, разбивать тест на шаги, задавать важность и функциональность.
  • Вложения (аттачи): К отчёту можно прикреплять скриншоты, логи, XML-данные и другие файлы для упрощения анализа падений.
  • Группировка и фильтрация: Тесты группируются по наборам (suites), severity (критичность), story/feature (функциональность).
  • Интеграция с CI/CD: Отчёты легко встраиваются в пайплайны (Jenkins, GitLab CI).

Пример настройки и использования с Maven и JUnit 5:

  1. Добавление плагина в pom.xml:
    <plugin>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-maven</artifactId>
        <version>2.10.0</version>
    </plugin>
  2. Использование аннотаций в тесте:

    import io.qameta.allure.*;
    
    @Test
    @DisplayName("Проверка успешного логина")
    @Story("Авторизация")
    @Severity(SeverityLevel.BLOCKER)
    public void testSuccessfulLogin() {
        Allure.step("Открыть страницу логина");
        // ... код шага
        Allure.step("Ввести валидные креденшелы");
        // ... код шага
        Allure.attachment("Скриншот после логина", Files.readAllBytes(screenshotPath));
    }
  3. Генерация отчёта: После запуска тестов (mvn test) отчёт генерируется командой mvn allure:serve и автоматически открывается в браузере.