Нууу, вы как тестировщик в первую очередь, как оцениваете своё сообщение по полноте описаной проблемы?
<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 руками?
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 версии, ещё укажите.
Поставил новую версию, проверил в зависимостях - все есть, но результат тот же
я уже в отчаянии каком-то, вообще без понятия что делать
Обновите джаву на свежую 251.
И свободная память в диспетчере задач.
Обновил джаву, памяти хватает, но результата нет
Весь пом тогда давайте.
А файл к с отчётами создаётся вообще? А то может дело не в allure?
не создается, но ошибка такая возникает при запуске…то есть тесты не прогоняются
Вот и ответ. Allure не может построить отчёты, потому что нет самих отчётов. Разберитесь сначала с тестами, а потом и allure заработает
А можете подробнее описать где может крыться корень зла?
Дело в том что фреймворк уже был создан ранее, здесь у нас обычный surefire report, который показывает только ошибку если тест падает, я хочу сделать что бы все было красиво с шагами и тд…
package com.webdriver.runner;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
@CucumberOptions(
features = {"src/main/java/com/webdriver/tests/features/"},
glue = {"com.webdriver.tests.steps","com.webdriver.generichook"},
monochrome = true,
plugin = {"pretty","junit:target/junitReport/junitreport.xml"},
tags = {"@test"}
)
public class MyRunner extends AbstractTestNGCucumberTests{
}
Runner выглядит вот таким образом, здесь еще TestNg зачем-то…может что-то с этим связанно быть?
Я просто не работал никогда с BDD поэтому, подозреваю, возникли такие сложности
Воспроизвёл, вроде, вот как надо для maven-surefire-plugin
:
-Dcucumber.options="-p pretty -p io.qameta.allure.cucumberjvm.AllureCucumberJvm"
И в MyRunner
для CucumberOptions
тогда надо plugin
выпилить.
Либо, наоборот, у плагина в поме выпиливаете cucumber.options, и указываете его только в MyRunner для CucumberOptions ( plugin = {"pretty","io.qameta.allure.cucumberjvm.AllureCucumberJvm"}
).
И лучше попробовать перейти уже на 5 кукумбер.
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>5.7.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>5.7.0</version>
</dependency>
Затем как во втором сообщении.
Спасибо большое за помощь…в общем так и не смог я сделать алюр репорт, решил не изобретать велосипед и взял cucumber report…все поставил, отлично работает в дженкинс