java - 从 Cucumber 4.2.3 升级到 5.1.3 后,Cucumber 运行程序类初始化时出现错误

标签 java spring-boot selenium cucumber

我最近将我的测试自动化项目从 Cucumber 4.2.3 升级到 5.1.3。 4.2.3 时测试运行正常(并行运行)。然而,一旦我升级到5.1.3。运行程序类初始化时出现错误。

[ERROR] initializationError(com.my.project.CukeTest)  Time elapsed: 0.008 s  <<< ERROR!
java.lang.NoClassDefFoundError: cucumber/api/event/ConcurrentEventListener
Caused by: java.lang.ClassNotFoundException: cucumber.api.event.ConcurrentEventListene

下面是我的运行者类(class)。

import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
@CucumberOptions(
    features = {"src/test/resources/features"},
    plugin = {
      "pretty",
      "html:target/cucumber-html-report",
      "json:target/cucumber/cucumber.json",
      "junit:target/cucumber/cucumber.xml",
      "io.qameta.allure.cucumber4jvm.AllureCucumber4Jvm",
      "rerun:target/rerun.txt"
    },
    glue = {"com.my.project.steps", "com.my.project.hook"},
    monochrome = true
    )
public class CukeTest {} 

如您所见,Runner 类中没有直接调用 ConcurrentEventListener。 我知道自 4.7.x 或 4.8.x 以来,有很多导入已经改变。我已经更新了这些导入。

欢迎任何意见。预先感谢您。

我使用的依赖项。

<cucumber.version>5.1.3</cucumber.version>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>${cucumber.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-core</artifactId>
            <version>${cucumber.version}</version>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java8</artifactId>
            <version>${cucumber.version}</version>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-spring</artifactId>
            <version>${cucumber.version}</version>
        </dependency>

最佳答案

您正在使用io.qameta.allure.cucumber4jvm.AllureCucumber4Jvm插件。该插件与 v5 不兼容。

关于java - 从 Cucumber 4.2.3 升级到 5.1.3 后,Cucumber 运行程序类初始化时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60104827/

相关文章:

python - 在日历日期选择器上使用 Selenium

java - 如何在@PostConstruct之前调用@BeforeMethod block

java - 如何将 JEE 应用程序连接到 MySQL 数据库?

spring - 开发中的代理前端HTTP调用

tomcat - 在 Tomcat 上部署 Spring Boot war 文件

ruby - 在带有 Selenium for Ruby on Rails 的 Heroku 上找不到 Chrome 二进制文件

java - 如何在android studio中生成多值二维码

java - Android 应用程序文件无法附加并作为电子邮件发送

java - Spring Boot 配置 + RepositoryRestResource + 身份验证

java - 如果语句在 ID 存储为字符串变量的 Selenium WebDriver 中不起作用