t.me/atinfo_chat Telegram группа по автоматизации тестирования

Создание Allure report в связке с Cucumber

Теги: #<Tag:0x00007f74990149c8> #<Tag:0x00007f7499014810> #<Tag:0x00007f7499014748> #<Tag:0x00007f7499014680> #<Tag:0x00007f7499014590> #<Tag:0x00007f7499014338> #<Tag:0x00007f7499014248>

Добрый день всем! Работаю над проектом сейчас, в котором нет толковой отчетности после прогона тестов. Пытаюсь наладить этот вопрос, но не очень получается.

Пол дня просидел, думал найти толковый туториал как привязать Allure к проекту с Cucumber, но безуспешно. Я никогда не настраивал отчеты, поэтому возникли такие проблемы. Может кто-то настраивал Allure репорт в проекте с Cucumber, опишите, пожалуйста алгоритм что за чем и как делать нужно.

Если честно я толком даже не понял, нам сначала необходимо установить Allure и затем еще настроить зависимости для корректной работы?

Технологический стэк Java+Maven+Cucumber+TestNG

Извините за такой сумбур, просто много времени потратил, а решения никакого…пожалуйста, хотя бы укажите правильное направление…куда двигаться и что делать

Всем спасибо!

Сначала создаёте проект с кукумбером, чтобы тесты для него запускались.
Для пример можно взять это руководство: https://cucumber.io/docs/guides/10-minute-tutorial/
После того как демострационные тесты запускаются, прикручиваем к ним аллюр:
https://docs.qameta.io/allure/#_cucumber_jvm - только надо указывать уже версию 2.13.3 для allure-cucumber5-jvm и указываем для maven-surefire-plugin плагин при запуске - io.qameta.allure.cucumber5jvm.AllureCucumber5Jvm
После этого, по идее, после запуска теста, должен уже создаваться результат в папке allure-results в папке с проектом.
И последнее действие - добавляем Allure Maven Plugin 2.10.0 https://docs.qameta.io/allure/#_maven_6 чтобы генерировать по команде allure:report сам отчет.

1 Симпатия

Спасибо! Ну мне не нужно устанавливать на комп Allure? Только установить зависимости и все?

Нет не надо. После последнего шага, плагин сам нужное скачает.

Спасибо! буду пробовать, если что еще вопросы задам :slight_smile:

Сделал все как вы описали и как описано в документации…получаю такую ошибку

ExecutionException The forked VM terminated without properly saying goodbye. VM crash or System.exit called?

Нууу, вы как тестировщик в первую очередь, как оцениваете своё сообщение по полноте описаной проблемы?

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.22.2</version>
				<configuration>
					<testFailureIgnore>false</testFailureIgnore>
					<argLine>
						-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
						-Dcucumber.options="--plugin io.qameta.allure.cucumberjvm.AllureCucumberJvm"
					</argLine>
					<properties>
						<property>
							<name>listener</name>
							<value>io.qameta.allure.junit4.AllureJunit4</value>
						</property>
					</properties>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.aspectj</groupId>
						<artifactId>aspectjweaver</artifactId>
						<version>${aspectj.version}</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>io.qameta.allure</groupId>
				<artifactId>allure-maven</artifactId>
				<version>2.8</version>
				<configuration>
					<reportVersion>2.3.1</reportVersion>
				</configuration>
			</plugin>
		</plugins>
	</build>
<dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-cucumber-jvm</artifactId>
            <version>2.13.3</version>
        </dependency>

Вот так выглядит код, что я добавил в POM файл.
В проекте сейчас используется surefire report я хочу сделать Allure.
Я не удалял код, который уже был.

Получаю такую ошибку:
org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?

Если удаляю эту строку: -Dcucumber.options="–plugin io.qameta.allure.cucumberjvm.AllureCucumberJvm" - все нормально запускается

Версия cucumber в проекте используется первая, я так понимаю

<dependency>
			<groupId>info.cukes</groupId>
			<artifactId>cucumber-java</artifactId>
			<version>1.2.5</version>
		</dependency>

Проперти с io.qameta.allure.junit4.AllureJunit4 закомментируйте пока что. Это что-то лишнее.
aspectjweaver какой версии? пробуйте сначала с 1.8.10

у меня такая версия и указана
<aspectj.version>1.8.10</aspectj.version>

я вообще без понятия что делать…искал в интернете решение, много вариантов перепробовал из описанных и ничего не работает

например отсюда

Версия джавы какая (надо бы 8 использовать)?
Памяти на машине свободной хватает?
Закомментируйте это:

					<properties>
						<property>
							<name>listener</name>
							<value>io.qameta.allure.junit4.AllureJunit4</value>
						</property>
					</properties>

в джаве реально проект конфигурится через xml руками?

1 Симпатия

Java 8… памяти, думаю, хватает…как проверить это можно?
Закомментировал эту часть, таже проблема

Вот нашел еще такую ошибку в папке surefire-reports .dumpstream файл:
Error: Could not find or load main class -Dcucumber.options=–plugin io.qameta.allure.cucumberjvm.AllureCucumberJvm

Да, это maven сборщик проекта

Проверьте в зависимостях проекта, чтобы был пакет allure-cucumber-jvm
изображение
Раз класса не находит, значит проблемы что он плохо подключился, сделайте очистку.
allure-maven уже 2.10.0 версии, ещё укажите.

Поставил новую версию, проверил в зависимостях - все есть, но результат тот же
image

я уже в отчаянии каком-то, вообще без понятия что делать

Обновите джаву на свежую 251.
И свободная память в диспетчере задач.

Обновил джаву, памяти хватает, но результата нет :slightly_frowning_face:

Весь пом тогда давайте.

А файл к с отчётами создаётся вообще? А то может дело не в allure?