在eclipse IDE中,我通过使用Maven项目创建了一个基本的Cucumber框架。
我已经添加了pom.xml中所需的所有依赖项。对于TestNG插件,添加了以下依赖项。
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-testng</artifactId>
<version>1.2.5</version>
</dependency>
但是“ TestNG Suite”选项不是首选项,因此通过“帮助”->“安装新软件”安装了TestNG。
框架具有特征文件(描述了场景),stepdefinitions(给出了代码/逻辑)和流道类(要使用stepdefinitions文件映射特征并运行它)。
亚军类:
package tests.report.runners;
import cucumber.api.CucumberOptions;
@CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"})
public class ReportRunner {
}
像这样,我每个模块都有一个跑步者课程(端到端场景)
例如:
登录,转到产品页面并注销
登录,生成报告并注销
我正在尝试通过testng.xml文件运行这些运行程序类
testng.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="First Suite" parallel="classes">
<test name="Chrome Test" parallel="classes">
<classes>
<class name ="tests.report.runners.ReportRunner"></class>
</classes>
</test>
</suite>
但是它抛出以下错误
答案 0 :(得分:0)
问题是由于Maven存储库中存储的垃圾罐不兼容。
请按照以下步骤
下载以下黄瓜jar文件并添加您的项目(不要将其添加到pom中 直接)
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm-deps</artifactId>
<version>1.0.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>gherkin</artifactId>
<version>2.12.2</version>
<scope>provided</scope>
</dependency>
确保您已经将TestNG库添加到项目中
在pom.xml文件中添加以下cumul-testng依赖项
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-testng</artifactId>
<version>1.2.5</version>
</dependency>
使用AbstractTestNGCucumberTests扩展跑步者类
package tests.report.runners; import org.testng.annotations.Test; import cucumber.api.testng.AbstractTestNGCucumberTests; import cucumber.api.CucumberOptions; @Test @CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"}) public class ReportRunner extends AbstractTestNGCucumberTests { }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="First Suite" > <test name="Chrome Test" > <classes> <class name ="tests.report.runners.ReportRunner"></class> </classes> </test> </suite>
谢谢!