
Allure – инструмент для формирования наглядных отчетов по автотестам, который работает поверх популярных тестовых фреймворков и собирает данные напрямую во время выполнения тестов. В проектах на Java с использованием Maven Allure подключается через плагин и набор зависимостей, что позволяет получать HTML-отчеты без ручной обработки логов или сторонних скриптов.
Корректная интеграция Allure требует точного совпадения версий allure-maven, адаптера для JUnit или TestNG и самого тестового фреймворка. Ошибки чаще всего возникают из-за неправильного scope зависимостей, отсутствия listener’ов или некорректно заданного каталога для хранения результатов. Эти моменты напрямую влияют на то, появится ли отчет после выполнения mvn test.
В рамках настройки важно заранее определить, где будут храниться файлы результатов, каким образом будет запускаться генерация отчета и как Allure будет интегрирован в существующий процесс сборки. При правильной конфигурации отчет формируется одной командой Maven и содержит шаги тестов, параметры, вложения и статус выполнения без дополнительной донастройки после каждого запуска.
Требования к Java и Maven перед установкой Allure
Для корректной работы Allure в Maven-проекте требуется установленная Java версии не ниже 8. На практике чаще используются JDK 11 или 17, так как они полностью совместимы с актуальными версиями Allure и популярных тестовых фреймворков. Версию Java следует проверить командой java -version, убедившись, что Maven использует именно JDK, а не JRE.
Maven должен быть версии 3.6.0 или выше. Более ранние версии могут некорректно обрабатывать плагины и зависимости Allure, что приводит к отсутствию каталога с результатами или ошибкам сборки. Проверка выполняется через mvn -version, где также отображается путь к используемой Java – это важно для диагностики конфликтов окружения.
В системе должна быть корректно настроена переменная окружения JAVA_HOME, указывающая на корень установленного JDK. Maven ориентируется на это значение при запуске тестов и генерации отчетов. Несоответствие JAVA_HOME фактической версии Java часто приводит к сбоям при выполнении плагина Allure.
Перед подключением Allure рекомендуется убедиться, что проект уже успешно собирается и запускает тесты через mvn test без сторонних плагинов. Allure не заменяет механизм запуска тестов, а лишь обрабатывает события выполнения, поэтому любые ошибки в базовой конфигурации Maven или тестового фреймворка будут напрямую отражаться на генерации отчетов.
Добавление Allure Maven Plugin в файл pom.xml

Allure подключается к Maven-проекту через плагин allure-maven, который отвечает за сбор результатов тестов и генерацию HTML-отчета. Плагин добавляется в секцию <build> → <plugins> файла pom.xml. Для стабильной работы рекомендуется явно указывать версию плагина, а не полагаться на транзитивные зависимости.
На практике чаще всего используется версия плагина, совместимая с Allure Report 2.x. Несовпадение версий плагина и адаптеров для JUnit или TestNG приводит к ситуации, когда тесты выполняются, но каталог allure-results остается пустым. Поэтому версию плагина следует подбирать с учетом версий тестового фреймворка и зависимостей Allure.
В конфигурации плагина указывается каталог для генерации отчета и, при необходимости, путь к директории с результатами. Если эти параметры не заданы, Maven использует значения по умолчанию, что может быть неудобно в проектах со сложной структурой или несколькими модулями. Явное задание путей упрощает дальнейшую автоматизацию сборки.
После добавления плагина Maven получает доступ к командам allure:serve и allure:report. Эти цели не участвуют в стандартной фазе сборки и запускаются вручную, поэтому наличие плагина в pom.xml не влияет на выполнение mvn test, а лишь расширяет возможности анализа результатов.
Подключение зависимостей Allure для JUnit и TestNG
Для корректной передачи данных о выполнении тестов Allure использует адаптеры, которые подключаются как зависимости Maven. Для проектов на JUnit 5 применяется артефакт allure-junit5, для JUnit 4 – allure-junit4, а для TestNG – allure-testng. Использование неподходящего адаптера приводит к отсутствию шагов и аттачментов в отчете.
Зависимости Allure рекомендуется подключать со scope test, так как они используются только во время выполнения автотестов. Это исключает попадание библиотек Allure в итоговый артефакт сборки и снижает риск конфликтов с зависимостями продакшен-кода.
Версии адаптеров Allure должны совпадать между собой и соответствовать версии Allure Report, используемой Maven-плагином. Смешивание разных минорных версий часто вызывает ошибки сериализации результатов или игнорирование аннотаций @Step, @Attachment и @Description.
Для TestNG после подключения зависимости требуется указать listener Allure в конфигурации тестов. Без listener’а события выполнения не будут переданы в механизм формирования результатов, и каталог allure-results останется пустым. В JUnit 5 дополнительная регистрация не требуется, так как адаптер подключается автоматически через расширение.
После добавления зависимостей рекомендуется выполнить запуск тестов через Maven и проверить появление файлов с расширением .json и .txt в каталоге результатов. Их наличие подтверждает, что адаптер Allure корректно интегрирован с выбранным тестовым фреймворком.
Настройка генерации Allure результатов при запуске тестов

Allure формирует результаты во время выполнения тестов, сохраняя данные в каталог allure-results. По умолчанию он создается в корне Maven-проекта, но на практике путь часто задают явно через параметр allure.results.directory, чтобы избежать конфликтов в многомодульных сборках и CI-среде.
Для Maven путь к каталогу результатов настраивается через свойства проекта или конфигурацию плагина maven-surefire-plugin. Чаще используется объявление свойства в секции <properties>, что позволяет переопределять его из командной строки без изменения pom.xml.
- задание каталога результатов через -Dallure.results.directory
- проверка, что каталог создается до запуска генерации отчета
- очистка директории перед повторным запуском тестов
Для JUnit 5 дополнительных параметров запуска не требуется, если используется стандартный maven-surefire-plugin. В TestNG необходимо убедиться, что listener Allure загружается при старте тестов, иначе события выполнения не будут зафиксированы.
При использовании профилей Maven рекомендуется выносить настройки Allure в отдельный профиль, активируемый только при необходимости генерации отчета. Это упрощает локальный запуск тестов и снижает вероятность накопления устаревших файлов результатов.
- выполнение mvn clean test для очистки старых данных
- проверка наличия файлов .json и .txt в каталоге результатов
- контроль прав доступа к директории в CI-окружении
Запуск Allure отчета через Maven команды

После выполнения тестов и появления каталога allure-results отчет Allure формируется и открывается с помощью Maven-целей плагина. Все операции выполняются из корня проекта без прямого вызова CLI Allure, что удобно для локальной работы и автоматизации сборок.
Для запуска используются стандартные команды Maven, которые не участвуют в фазах test или package и выполняются отдельно. Перед генерацией отчета рекомендуется убедиться, что тесты уже были запущены, иначе отчет будет пустым.
| Команда Maven | Назначение |
|---|---|
| mvn allure:report | Генерация HTML-отчета в каталог allure-report без запуска браузера |
| mvn allure:serve | Генерация отчета и открытие его во встроенном веб-сервере |
Команда allure:serve удобна для локальной проверки результатов, так как автоматически поднимает сервер и очищает временные файлы после завершения работы. Для CI-систем чаще используется allure:report, так как она создает статические файлы, которые можно сохранить как артефакт сборки.
При необходимости можно указать путь к каталогу с результатами через параметр командной строки -Dallure.results.directory. Это актуально для проектов с несколькими модулями или нестандартной структурой каталогов.
Если отчет не формируется, в первую очередь проверяют наличие файлов результатов и соответствие версий плагина и адаптеров Allure. Отсутствие ошибок при выполнении команды Maven не гарантирует, что данные для отчета были собраны корректно.
Настройка каталога results и report в Maven проекте
Allure использует два ключевых каталога: allure-results для хранения данных тестов и allure-report для сгенерированных HTML-файлов. В Maven-проекте их расположение настраивается через плагин allure-maven или свойства проекта.
Рекомендуется явно указывать пути, чтобы:
- избежать конфликтов при многомодульных сборках;
- упростить интеграцию с CI/CD;
- обеспечить контроль версий и очистку каталогов перед запуском тестов.
Настройка через pom.xml выполняется в секции <configuration> плагина:
- resultsDirectory – путь к каталогу для файлов .json и .txt с результатами тестов;
- reportDirectory – путь, куда будет сгенерирован HTML-отчет после выполнения allure:report или allure:serve.
- Создать каталоги заранее или убедиться, что Maven имеет права на их создание.
- Очистить resultsDirectory перед повторным запуском тестов, чтобы исключить устаревшие данные.
- При необходимости использовать переменные Maven (${project.build.directory}) для хранения результатов внутри целевой директории сборки.
Правильная настройка каталогов упрощает управление отчетами, автоматизацию публикации и интеграцию с системами CI, такими как Jenkins или GitLab CI. Это также позволяет запускать несколько отчетов параллельно без пересечения данных.
Типовые ошибки при подключении Allure и способы их исправления

Пустой каталог allure-results – чаще всего возникает из-за отсутствия подключенного адаптера тестового фреймворка или неправильно заданного listener’а в TestNG. Для JUnit 5 достаточно зависимости allure-junit5, для TestNG необходимо добавить allure-testng и указать listener в testng.xml.
Несовпадение версий плагина и адаптеров приводит к игнорированию аннотаций @Step и @Attachment или к ошибкам сериализации результатов. Рекомендуется использовать одинаковые минорные версии плагина allure-maven и всех адаптеров.
Ошибка генерации отчета через mvn allure:report может быть вызвана отсутствием прав на создание каталога или конфликтом с предыдущими файлами. Решение: очистить allure-results и убедиться, что Maven имеет права на запись в указанные директории.
Файлы отчета не открываются в браузере – часто связано с некорректным форматом JSON или поврежденными файлами результатов. Рекомендуется повторно запустить тесты с чистым каталогом результатов и проверить совместимость версий Allure с тестовым фреймворком.
Проблемы при многомодульных проектах возникают из-за пересечения каталогов results и report. Решение: указывать отдельные директории для каждого модуля через resultsDirectory и reportDirectory в конфигурации плагина.
Вопрос-ответ:
Какая версия Java нужна для подключения Allure к Maven-проекту?
Для корректной работы Allure рекомендуется использовать Java версии не ниже 8. Чаще всего применяют JDK 11 или 17, так как они полностью совместимы с актуальными версиями плагина и адаптеров. Проверку версии выполняют через команду java -version, а Maven должен использовать именно JDK, а не JRE.
Какие зависимости необходимо добавить для использования Allure с JUnit и TestNG?
Для JUnit 5 подключают allure-junit5, для JUnit 4 — allure-junit4, а для TestNG — allure-testng. Все зависимости указываются со scope test. В TestNG дополнительно необходимо прописать listener Allure, чтобы события тестов фиксировались и попадали в каталог allure-results.
Как настроить каталог результатов и отчетов в Maven-проекте?
Allure использует два каталога: allure-results для хранения данных тестов и allure-report для сгенерированного HTML-отчета. Их можно настроить через pom.xml в секции <configuration> плагина, задав resultsDirectory и reportDirectory. Это помогает управлять отчетами в многомодульных проектах и CI-средах.
Почему каталог allure-results остаётся пустым после запуска тестов?
Чаще всего это связано с отсутствием подключенного адаптера или listener’а. В JUnit 5 достаточно зависимости allure-junit5, а в TestNG нужно добавить allure-testng и указать listener в testng.xml. Также важно проверять, что тесты действительно выполняются и каталог результатов задан правильно.
Какие Maven-команды используются для генерации и просмотра отчета Allure?
Для генерации статического отчета используют mvn allure:report, который создаёт HTML-файлы в каталоге allure-report. Для локального просмотра с поднимаемым веб-сервером применяют mvn allure:serve. Перед запуском рекомендуется убедиться, что каталог allure-results содержит актуальные файлы, иначе отчет будет пустым.
Почему после подключения Allure к Maven-проекту тесты выполняются, но отчет не формируется?
Причины могут быть связаны с отсутствием корректного адаптера для тестового фреймворка или неправильной конфигурацией listener’а. В JUnit 5 достаточно добавить зависимость allure-junit5, в TestNG требуется allure-testng и регистрация listener в testng.xml. Также важно проверить, что каталог allure-results существует и имеет права на запись. Если версии плагина allure-maven и адаптеров не совпадают, файлы результатов могут создаваться некорректно, что приводит к пустому отчету при запуске mvn allure:report или mvn allure:serve.
