Исключение в теме" основной " огурец.во время выполнения.CucumberException: бэкэнды не найдены

Я разрабатываю свою Selenium-JVM framework с огурцом и во время работы моей первой функции получил ниже ошибки.

пожалуйста, помогите.

как я запустил функцию -

  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

только это доступно в project.

пожалуйста, помогите.

5 ответов


убедитесь, что вы добавляете ниже зависимости для проекта 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>

эта ошибка возникает, когда "бэкэнды" не найдены на пути к классам. Существует "бэкэнд" для каждого поддерживаемого языка (например, cucumber-java, cucumber-groovy и т. д.)

Это, вероятно, ошибка пути к классам, хотя если cucumber-core и cucumber-java находятся в одном месте, это кажется странным.


вы можете попробовать огурец-java-1.2.4 в https://mvnrepository.com/artifact/info.cukes/cucumber-java/1.2.4.

Я обнаружил, что попытка предыдущей версии того же файла JAR работала для меня. Я думаю, это может решить и для других людей. В случае, если это не так, пожалуйста, добавьте другой ответ.

Дайте мне знать, если это работает для вас и сэкономило драгоценное время :-)


вот исправление: в проектах eclipse добавьте в .проект

<buildSpec>
  ...
  <buildCommand>
	<name>cucumber.eclipse.steps.jdt.stepsBuilder</name>
	<arguments>
	</arguments>
  </buildCommand>
</buildSpec>
<natures>
  ...
  <nature>cucumber.eclipse.steps.jdt.stepsNature</nature>
</natures>

Если это не исправило проблему, добавьте зависимость

огурец-java

в пути к классам проекта или измените версию jar на latest или n-1


Я столкнулся с этим же сообщением об ошибке при попытке запустить файл функций огурца в Eclipse ("бэкэнды не найдены. Пожалуйста, убедитесь, что у вас есть модуль backend на вашем пути к классам").

то, что исправило это для меня, входило в мой пом.xml и изменение версий cucumber-java и cucumber-junit от 1.2.5 (в их документации) до 1.2.0.

Я не уверен на 100%, игнорирую ли я реальную проблему, делая это или нет. Здесь больше информации о моей настройке:

  • Windows 10
  • Eclipse Neon (4.6.0)
  • Apache Maven 3.5.0
  • Java 1.8

Я проверил с помощью быстрых команд, что java и maven установлены успешно и работают на моей машине. Я также проверил, что Maven вытащил банки cucumber-java и cucumber-core в моем проекте Eclipse. Странный.