[英]Getting No Feature Found Exception in Cucumber Test with Selenium
I'm new to cucumber. 我是黄瓜新手。 when i'm trying to run the feature files separately i'm getting no Feature found Exception. 当我尝试单独运行功能文件时,没有找到功能异常。 i tried all the suggestions from the already asked questions in StackOverflow but those are not worked for me. 我尝试了StackOverflow中已经问到的所有问题的建议,但这些建议对我来说不起作用。 please help me to solve this issue. 请帮助我解决此问题。
My Feature File 我的特征文件
Feature: CucumberJava
Scenario: Logging in to Facebook using DataTables
Given I have open the "Chrome" browser
When I open Facebook website
And Logging in to Facebook using DataTables
| Feild | Values |
| Email id | fsferr@dsgs.com |
| Password | dvfsgg |
Then Click on Login button
My Runner file 我的跑步者档案
package cucumberPackage;
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
//@Cucumber.Options(format = {"pretty", "html:target/cucumber"})
@Cucumber.Options(features="src/test/resources/demo/DataTables.feature",format = {"pretty", "html:target/cucumber"})
public class RunnerTest {
}
Error Log 错误记录
cucumber.runtime.CucumberException: No features found at [src/test/resources/demo/DataTables.feature]
at cucumber.runtime.model.CucumberFeature.load(CucumberFeature.java:47)
at cucumber.runtime.RuntimeOptions.cucumberFeatures(RuntimeOptions.java:82)
at cucumber.junit.Cucumber.<init>(Cucumber.java:60)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Following assumption is made 做出以下假设
@Cucumber.Options
, which has been removed in version 1.2.0, the current Cucumber release is 3.0.2 , maybe think about updating to a recent version 您正在使用Cucumber版本<= 1.1.8(由于使用了@Cucumber.Options
,该版本已在1.2.0版本中删除,因此当前的Cucumber版本是3.0.2 ,请考虑更新至最新版本 the following files exists in the current directory 当前目录中存在以下文件
src/test/java/cucumberPackage/RunnerTest.java src/test/resources/demo/DataTables.feature pom.xml
RunnerTest.java RunnerTest.java
as in your post, with fixed import statement for Cucumber.class
如您的帖子中所述,使用针对Cucumber.class
固定import语句
// import cucumber.junit.Cucumber;
import cucumber.api.junit.Cucumber;
DataTables.feature DataTables.feature
as in your post 如您的帖子
pom.xml 的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.suboptimal</groupId>
<artifactId>cuke-test.so</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<version.cucumber>1.1.8</version.cucumber>
</properties>
<dependencies>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>${version.cucumber}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${version.cucumber}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
running the test with mvn test
executes you scenario 使用mvn test
运行mvn test
执行您的方案
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running cucumberPackage.RunnerTest
Feature: CucumberJava
Scenario: Logging in to Facebook using DataTables # src/test/resources/demo/DataTables.feature:3
Given I have open the "Chrome" browser
When I open Facebook website
And Logging in to Facebook using DataTables
Then Click on Login button
1 Scenarios (1 undefined)
4 Steps (4 undefined)
0m0.000s
You can implement missing steps with the snippets below:
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.