[英]Java Cucumber says 0 scenarios
我正在尝试对黄瓜进行一些测试(以学习)我有以下内容:
myapplication.feature 与
Feature: test
Scenario: login
Given open firefox and start app
When enter details
Then login happens
班级赛跑者:
package runnerPackage;
import org.junit.runner.RunWith;
import org.testng.annotations.Test;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features="C:/Users/lucian.patrascu/workspace/tst/features/myapplication.feature",
glue={"stepdefinition"},dryRun = false)
public class Runner {
}
步骤定义:
public class test1 {
WebDriver driver=new ChromeDriver();
@Given("^open firefox and start app$")
public void open_firefox_and_start_app(){
System.setProperty("webdriver.chrome.driver", "F:\\chromedriver.exe");
System.out.println("worked");
}
@When("^enter details$")
public void enter_details(){
driver.navigate().to("hi5.com");
}
@Then("^login happens$")
public void login(){
driver.findElement(By.xpath("//input[@id='signInBtn'][@tabindex='3']"));
}
}
我先有 TestNG 和 Junit 库,然后我删除了 TestNg 和相同的结果。 我尝试了 @CucumberOptions(features=... ) 的各种路径,但它仍然说:
0 Scenarios
0 Steps
0m0.000s
你能提供建议吗,因为我找不到修复它的方法
也许你可以从这个简单的项目开始,然后检查你的差异在哪里。 它可能是路径中的拼写错误,或者根据您提供的输入我们无法知道的其他内容。
假设以下结构
/tmp/cuke/tst/features/myapplication.feature
/tmp/cuke/src/test/java/runnerPackage/Runner.java
/tmp/cuke/pom.xml
我的应用程序功能
Feature: test
Scenario: login
Given open firefox
And start app
When enter details
Then login happens
跑步者.java
package runnerPackage;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
features="/tmp/cuke/tst/features/myapplication.feature",
glue={"stepdefinition"},
dryRun = false
)
public class Runner {
}
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</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>2.1.0</version>
</dependency>
</dependencies>
<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>
</properties>
</project>
运行 Cucumber Runner
cd /tmp/cuke
mvn test -Dtest=Runner
结果是
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running runnerPackage.Runner
1 Scenarios (1 undefined)
4 Steps (4 undefined)
0m0.021s
...
编辑基于提供的 Eclipse 项目。 测试应该由 TestNG 执行。 因此Cucumber runner 必须扩展cucumber.api.testng.AbstractTestNGCucumberTests
假设以下结构
/tmp/cuke/src/test/java/runnerPackage/RunnerTest.java
/tmp/cuke/features/myapplication.feature
/tmp/cuke/pom.xml
我的应用程序功能
Feature: test
Scenario: login
Given open firefox
And start app
When enter details
Then login happens
RunnerTest.java
package runnerPackage;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
@CucumberOptions(features = "features")
public class RunnerTest extends AbstractTestNGCucumberTests {
}
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</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>2.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>2.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<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>
<surefire.version>2.18.1</surefire.version>
</properties>
</project>
运行测试
cd /tmp/cuke
mvn test
结果是
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running runnerPackage.RunnerTest
Configuring TestNG with:
org.apache.maven.surefire.testng.conf.TestNG652Configurator@6bf2d08e
1 Scenarios (1 undefined)
4 Steps (4 undefined)
0m0.018s
...
请删除选项dryRun = false
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.