我已将 Alluer 集成到我的黄瓜自动化项目中。 集成后,我可以从功能文件运行测试,并成功生成报告。 但是,当我尝试从测试入口类运行测试时,出现了异常。 有人可以帮我解决这个问题吗? 非常感谢。

错误信息:

cucumber.runtime.CucumberException: Couldn't load plugin class: io.qameta.allure.cucumberjvm.AllureCucumberJvm

    at cucumber.runtime.formatter.PluginFactory.loadClass(PluginFactory.java:175)
    at cucumber.runtime.formatter.PluginFactory.pluginClass(PluginFactory.java:165)
    at cucumber.runtime.formatter.PluginFactory.getPluginClass(PluginFactory.java:226)
    at cucumber.runtime.formatter.PluginFactory.isFormatterName(PluginFactory.java:195)
    at cucumber.runtime.RuntimeOptions$ParsedPluginData.addPluginName(RuntimeOptions.java:365)
    at cucumber.runtime.RuntimeOptions.parse(RuntimeOptions.java:125)
    at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:89)
    at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:78)
    at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:70)
    at cucumber.runtime.RuntimeOptionsFactory.create(RuntimeOptionsFactory.java:25)
    at cucumber.api.junit.Cucumber.<init>(Cucumber.java:56)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
    at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.ClassNotFoundException: io.qameta.allure.cucumberjvm.AllureCucumberJvm
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at cucumber.runtime.formatter.PluginFactory.loadClass(PluginFactory.java:173)

入门类:

@RunWith(Cucumber.class)
@CucumberOptions(
        features = {"src/test/resources/features"},
        glue = {"classpath:com.wi***rd.step"},
        format = {"pretty", "html:target/cucumber-report", "json:target/cucumber.json"},
        tags = {"@Mer***tion, @Add***nal, @MER***CH, @MER***ERR"}
)
public class A***dApplicationTests {
}

POM文件

        <dependency>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-cucumber-jvm-adaptor</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-java-commons</artifactId>
            <version>2.0-BETA15</version>
        </dependency>        
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20</version>
                <configuration>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                        -Dcucumber.options="--plugin io.qameta.allure.cucumberjvm.AllureCucumberJvm"
                    </argLine>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>1.8.10</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

    </build>

#1楼 票数:1 已采纳

问题是您使用的是旧的allure-cucumber-jvm-adaptor依赖项。 正确的是

<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-cucumber-jvm</artifactId>
    <version>2.0-BETA16</version>
</dependency>

也不需要指定额外的allure-java-commons依赖项

  ask by Shi Tim translate from so

未解决问题?本站智能推荐:

1回复

Java Cucumber 项目的 Allure 报告给出错误:无法找到或加载主类 aspectjweaver-1.9.6.jar

尝试为我使用 Java、Selenium、TestNG、Cucumber 的现有项目设置 Allure 报告 下面是我的 pom.xml 文件 但是当我运行它时会出现以下错误: Error: Could not find or load main class javaagent:D:\\User
1回复

Cucumber-JVM 3-Maven的魅力2测试报告

在这一点上,随着最新版本的cucumber-jvm 3.xx发布,除了较旧的1.xx ( docs )之外,似乎没有可行的教程。 我不确定要使用哪个? allure-java (似乎具有allure-cucumber3-jvm ) 诱惑,行家 预期结果: 在
1回复

Allure Cucumber Maven 报告问题

我正在尝试让我的测试报告与 Allure 一起使用,但是在构建时出现以下错误: 我在这里按照他们的说明https://docs.qameta.io/allure/#_cucumber_jvm 我不确定当它说它基于cucumber-jvm 版本时是什么意思,如果我使用cucumber-jvm-d
1回复

如何在“魅力”报告中获取黄瓜步骤和附件?

我能够在基于java-cucumber-Junit的项目中生成魅力报告。 但是,我无法在执行部分中获取黄瓜步骤。 此外,附件未附加到报告中。 我能够根据“魅力”站点上给出的步骤生成“魅力”报告。 但是,我无法在报告的执行部分中看到步骤(鉴于当时,请给出)。 此外,报告中也不会生成附件。
2回复

Allure 是否支持 Cucumber JVM 6.0.0?

我有一个使用 Java 8 和 Cucumber 6.0.0 的项目。 我试图遵循https://docs.qameta.io/allure/#_cucumber_jvm ,但是,没有io.qameta.allure:allure-cucumber6-jvm JAR 可用。 以前版本的io.qame
1回复

无法使用硒 java 黄瓜生成诱惑报告

我正在努力解决以下错误,因为我无法生成诱惑报告。 尝试执行mvn allure:report命令时出现以下错误 无法在项目 AutomationFramework1.0 上执行目标 io.qameta.allure:allure-maven:2.8:report (default-cli):Al
1回复

在allure-cucumber-jvm-adaptor 1.6.2中弃用的AllureRunListener

在allure-cucumber-jvm-adaptor 1.6.2中已弃用AllureRunListener构造函数,我想替换它。 在AllureRunListener类中有一个指向https://github.com/allure-framework/allure-cucumber-jvm
1回复

我如何才能将Cucumber步骤失败的屏幕截图准确地附加到“魅力”报告中,而不是在“拆卸”部分中?

我无法在“魅力”报告中的步骤下添加失败的黄瓜步骤的屏幕截图。 我使用allure-cucumber4-jvm:2.12.1,cucumber-java:4.3.1并尝试添加经过测试的Web应用程序的屏幕截图以完全诱使黄瓜在失败的黄瓜步骤下生成报告。 因此,我尝试使用了黄瓜的@AfterS