如何在带有JAVA的Cucumber框架中使用TestNG?

时间:2018-12-26 12:59:22

标签: cucumber testng

我正在使用Junit运行运行程序文件,但我想使用TestNG运行功能文件和范围报告。 请帮助我找出带有黄瓜赛跑者课程的TestNG来运行该项目。

3 个答案:

答案 0 :(得分:1)

@RunWith(ExtendedCucumber.class) -This is used for Junit
AbstractTestNGCucumberTests – is used for TestNG

用AbstractTestNGCucumberTests扩展Runner类并添加TestNG依赖项

答案 1 :(得分:0)

第1步-如果您使用的是Maven,则在pom.xml中添加此“ cucumber-testng”依赖项-我已使用4.8.0版本

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-testng</artifactId>
    <version>4.8.0</version>
</dependency>

Step2-您需要创建一个Runner类,并将其扩展到AbstractTestNGCucumberTests,以便其外观如下-

public class <your runner class name here>  extends AbstractTestNGCucumberTests

Step3-在您的跑步者课程中添加以下“ CucumberOptions”

@CucumberOptions
(
features = "<your feature file path>", //the path of the feature files
glue={"<your step definition file path>"}, //the path of the step definition files
plugin= {"pretty:target/cucumber-pretty.txt",
        "html:target/cucumber-html-report",
        "json:target/cucumber.json",
        "rerun:target/rerun.txt"
        }, //to generate different types of reporting
monochrome = true, //display the console output in a proper readable format
strict = true, //it will check if any step is not defined in step definition file
dryRun = false //to check the mapping is proper between feature file and step definition file
)

现在,您可以从testng.xml文件运行执行。 确保在您的testng.xml文件中添加“ Runner类”。

<class name="runner class path here" />

答案 2 :(得分:0)

要用 TestNG 替换 Junit,可以使用以下方法:

一个。在 TestNG xml 中,在 class 标签中添加 TestRunner 文件的路径和名称。帮助TestNG定位cucumber的TestRunner文件

B.在 TestRunner 文件中,确保您的类扩展了 AbstractTestNGCucumberTests

c.在Maven中添加cucumber-testNG依赖来加载需要的jars。

那么你就可以开始了,除了我们已经拥有的控件(来自 TestRunner)之外,它还将有助于你从 testNG 控制测试执行。此外,现在可以使用黄瓜报告,这似乎是最好的报告工具,尤其是对于测试自动化工程师。 (但我认为开发人员也可以在单元测试中使用它)