Исключение в теме" основной " огурец.во время выполнения.CucumberException: бэкэнды не найдены
Я разрабатываю свою Selenium-JVM framework с огурцом и во время работы моей первой функции получил ниже ошибки.
пожалуйста, помогите.
как я запустил функцию -
- Правой Кнопкой Мыши на файле
- Выберите Выполнить Как - > Функция Огурца
Немедленное Исключение -
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. Странный.