Я же предлагаю тебе превратить магический ритуал в четкий рецепт из 6 компонентов, разобрав предназначение каждого. Погнали:
1. 📦зависимость TestNG или JUnit 5
Позволяет писать и запускать тесты. С этой библиотекой к нам приходит всесильный @Test и всякие @Before-After. Уже только этого достаточно что бы писать и запускать тесты.
2. 📦зависимость allure-testng или allure-junit5
Сам аллюр, но с двумя разными
3. 📦зависимость aspectjweaver
Особенность аллюра - аллюр использует AOP (аспектно ориентированные программирование) для обработки данных из его аннотаций типа @Step, и включения их информации в отчет. Для работы AOP нужен AspectJ, иначе аннотции аллюра не будут работать, а заботливо написанные тобой шаги так и останутся в коде и не попадут в репорт.
4. 🛠плагин maven-surefire-plugin
Этот плагин отвечает за запуск тестов через Maven - именно он работает под капотом команды 'mvn test'. Ранее упомянутый AspectJ должен работать во время выполнения тестов, поэтому плагин surefire надо об этом предупредить - добавить для него конфигурацию:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.2</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
</configuration>
</plugin>
Не забудь задать в pom.xml значение переменной aspectj.version - должно совпадать с версией зависимости aspectjweaver:
<properties>
<aspectj.version>1.9.22.1</aspectj.version>
</properties>
5. 🛠плагин allure-maven
Содержит два самых важных действия для нас, две самых важных команды в плагине:
allure:report - она словно бариста превратит сырые кофейные зерна (json-данные из allure-results) в чашку ароматного эспрессо - папку с html-страницей отчета.allure:serve - подает нам эту чашку, т.е. запускает локальный сервер на котором хостит страницу отчета и открывает ее в браузере.<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.15.2</version>
</plugin>
6. 📄файл allure.properties
этот файл должен лежать в директории test/java/resources - он используется что бы указать аллюру куда должны сгенерироваться сырые json-данные, на базе которых потом можно будет собрать отчет. Содержимое файла выглядит так:
allure.results.directory=target/allure-resultsТак что все просто - используем тестовый фреймворк (1) и размечаем наши тесты аллюр аннотациями (2), а что бы аннотации аллюра считывались - дружим между собой aspectj (3) и surefire-плагин (4), после чего с помощью плагина аллюра (5) забираем данные из папки, указанной в файле allure.properties (6) и создаем отчет!
⚠️Лайкай, делись с друзьями и с коллегами! Помогай автору не терять мотивацию😁
А главное залетай в комментарии - какую еще тему хотел бы так разобрать?
