线程“主”cucumber.runtime.CucumberException 中的异常:未找到后端

2022-09-04 06:31:38

我正在用Cucumber开发我的Selenium-JVM框架,在运行时我的第一个功能出错了。

请帮忙。

我是如何启动该功能的 -

  1. 右键单击特征文件
  2. 选择运行方式 -> 黄瓜特征

即时异常 -

Exception in thread "main" cucumber.runtime.CucumberException: No backends were found. Please make sure you have a backend module on your CLASSPATH.
    at cucumber.runtime.Runtime.<init>(Runtime.java:78)
    at cucumber.runtime.Runtime.<init>(Runtime.java:67)
    at cucumber.runtime.Runtime.<init>(Runtime.java:63)
    at cucumber.api.cli.Main.run(Main.java:24)
    at cucumber.api.cli.Main.main(Main.java:16)

我在代码中有什么 -

启动器.java -

package cucumber;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(format={"pretty","json:target/"} , features="/src/test/java/cucumber/features")
public class Launcher {

}

功能文件 -

Feature: it works demo

  Scenario: First test
    Given this is my step
    When this is my second step
    Then this is my final step

添加到列表中的依赖项列表 -

cucumber-core-1.1.8
cucumber-html-0.2.3
cucumber-java-1.1.8
cucumber-junit-1.1.8
cucumber-jvm-deps-1.0.3
gherkin-2.12.2
hamcrest-all-1.3
junit-4.11
selenium-api-2.42.2
selenium-firefox-driver-2.42.2
selenium-java-2.42.2
selenium-remote-driver-2.42.2
selenium-support-2.42.2

我的 JVM - 1.7

只有这么多在项目中可用。

请帮忙。


答案 1

确保为 Maven 项目添加以下依赖项:

您可以将版本替换为最新版本或所需版本:

<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>1.2.0</version>
</dependency>

答案 2

当在类路径上找不到“后端”时,将引发此错误。每种支持的语言都有一个“后端”(例如,cucumber-java,cucumber-groovy等)。

这可能是一个类路径错误,尽管如果cucumber-core和cucumber-java位于同一位置,这似乎很奇怪。


推荐