Cucumber “线程中的异常”;“主要”;更新黄瓜版本后

Cucumber “线程中的异常”;“主要”;更新黄瓜版本后,cucumber,cucumber-java,Cucumber,Cucumber Java,我已经更新了我的Cumber版本,之后它出现了以下异常: WARNING: You are using deprecated Main class. Please use io.cucumber.core.api.cli.Main Exception in thread "main" cucumber.runtime.CucumberException: Failed to instantiate public cucumber.runtime.java.Jav

我已经更新了我的Cumber版本,之后它出现了以下异常:

     WARNING: You are using deprecated Main class. Please use 
   io.cucumber.core.api.cli.Main
   Exception in thread "main" cucumber.runtime.CucumberException: Failed to 
  instantiate public 
 cucumber.runtime.java.JavaBackend(cucumber.runtime.io.ResourceLoader,io.cucum 
  ber.stepexpression.TypeRegistry)
我的跑步课:

  package hgtest.runner;


import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

@CucumberOptions(plugin = "json:target/cucumber-report.json",
        features="classpath:features",
        glue="hgtest.stepdefinitions"
)
public abstract class CustomCucumberAbstractTestng extends AbstractTestNGCucumberTests {

    public CustomCucumberAbstractTestng() {
    }

    @Test(
            groups = {"cucumber"},
            description = "Runs Cucumber Feature",
            dataProvider = "features"
    )
    @Override
    @DataProvider(parallel = true)
    public Object[][] scenarios() {
        return super.scenarios();
    }


}
Pom.xml如下所示:

    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>${selenium.version}</version>
    </dependency>
  <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>4.5.0</version>
    </dependency>
  <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>4.5.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java8 -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java8</artifactId>
        <version>4.5.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-testng -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>4.5.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.cucumber/gherkin -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>gherkin</artifactId>
        <version>4.1.3</version>
    </dependency>

org.testng
testng
${testng.version}
测验
org.seleniumhq.selenium
硒爪哇
${selenium.version}
黄瓜
黄瓜核
4.5.0
黄瓜
黄瓜爪哇
4.5.0
黄瓜
黄瓜-java8
4.5.0
黄瓜
黄瓜试验
4.5.0
黄瓜
小黄瓜
4.1.3

我已将cucumber版本从info.cuke更新为io.cucumber。之后,它在线程“main”cucumber.runtime.CucumberException中表示异常。没有io.cumber.core.api.cli.Main。我正在使用intellij Idea

我设法强制intellij cucumber插件模板使用建议的io.cucumber.core.api.cli.Main,它可以工作


我成功地强制IntelliJ cucumber插件模板使用建议的io.cucumber.core.api.cli.Main,它可以正常工作


如@mpkorstanje所述:


要使用的正确类是io.cumber.core.api.Main

,如@mpkorstanje所述:


正确使用的类是io.cumber.core.api.Main,我也遇到了同样的问题

我将下面的依赖项放在pom.xml中,并在解决问题的步骤类中实现En接口

<!-- cucumber -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java8</artifactId>
        <version>4.2.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-spring</artifactId>
        <version>4.2.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>4.2.0</version>
        <scope>test</scope>
    </dependency>

黄瓜
黄瓜-java8
4.2.0
测验
黄瓜
黄瓜之春
4.2.0
测验
黄瓜
黄瓜刺柏
4.2.0
测验

我也有同样的问题

我将下面的依赖项放在pom.xml中,并在解决问题的步骤类中实现En接口

<!-- cucumber -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java8</artifactId>
        <version>4.2.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-spring</artifactId>
        <version>4.2.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>4.2.0</version>
        <scope>test</scope>
    </dependency>

黄瓜
黄瓜-java8
4.2.0
测验
黄瓜
黄瓜之春
4.2.0
测验
黄瓜
黄瓜刺柏
4.2.0
测验

在SmartBear官方论坛上,Cucumber Open的创建者和首席开发者说:

“您可以安全地忽略此警告。这意味着cucumber eclipse尚未更新以使用cucumber的新包结构。我们对此有一个公开问题。如果您对此有强烈的感觉,您可以通过向cucumber eclipse提交拉取请求来帮助我们。”


在SmartBear官方论坛上,Cucumber Open的创建者和首席开发者说:

“您可以安全地忽略此警告。这意味着cucumber eclipse尚未更新以使用cucumber的新包结构。我们对此有一个公开问题。如果您对此有强烈的感觉,您可以通过向cucumber eclipse提交拉取请求来帮助我们。”


要使用的正确类是
io.cumber.core.api.Main
,错误消息错误(在4.5.3中修复)。要使用的正确类是
io.cumber.core.api.Main
,错误消息错误(在4.5.3中修复)