扩展报告插件不适用于Testng + Cucumber

时间:2019-05-02 15:01:24

标签: testing cucumber cucumber-java extentreports selenium-extent-report

我有一个复杂的问题,请阅读- 我想用我的框架来运行范围报告,该框架是使用Cucumber,Testng和Java创建的。

我正在运行testng文件以运行测试类文件,该文件最终将运行@CucumberOptions及其中添加的功能。

我的测试类通过AbstractTestNGCucumberTests进行了扩展,以支持带黄瓜的testng。

现在一切正常。基本的testng报告正在生成。 注意:我正在并行运行一些测试,它们也可以正常工作。

现在我想在我的框架中实施范围报告。您能告诉我如何使用插件来执行此操作吗?该插件添加的日志与功能文件中添加的黄瓜语句相同。

ps:我已经浏览了一些链接,该链接向我展示了如何使用@AfterClass与junit一起运行范围报告,但如何与testng一起使用。

我尝试过的-

使用的库-com.aventstack->扩展报告和com.vimalselvam->黄瓜扩展报告

错误-Cucumber.runtime.CucumberException:无法加载插件类:com.vimalselvam.cucumber.ExtentCucumberFormatter

二手插件-plugin = {“ com.vimalselvam.cucumber.ExtentCucumberFormatter:output / report.html”}

在@AfterTest下添加的代码是:Reporter.loadXMLConfig(new File(“ xml path”)

请帮助!!! 我想生成范围报告,该报告也将支持并行执行。

2 个答案:

答案 0 :(得分:0)

如果要并行运行测试用例并希望获得稳定的扩展范围报告,请使用黄瓜4.x.x版本,在Cucumber中有两种实现扩展范围报告的方法

1。将Cucumber-JVM 4适配器用于Extent Framework(extentreports-cucumber4-adapter) &以下是实现的步骤-(美容-您无需编写任何代码除了在下面的运行器中设置适配器之外,任何以这种方式生成报告的地方

在POM.XML下添加适配器依赖项

<dependency>
    <groupId>com.aventstack</groupId>
    <artifactId>extentreports-cucumber4-adapter</artifactId>
    <version>1.0.6</version>
</dependency>

将com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter插件添加到运行器中。

@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"})
public class RunCukesTest {
    // ..
} 

报告输出目录-../项目目录/ test-output / HtmlReport

2。在POM.XML

下添加aventstack依赖项
<dependency>
    <groupId>com.aventstack</groupId>
    <artifactId>extentreports</artifactId>
    <version>3.1.5</version>
</dependency> 

在此工作流程中,请勿将com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter插件添加到运行器。

答案 1 :(得分:0)

我假设您使用的是cucumber-extentsreport。*。jar作为依赖项。 您必须指定扩展区属性@beforesuite方法。 ExtentProperties scopeProperties = ExtentProperties.INSTANCE; scopeProperties.setReportPath();

您还需要添加插件-com.cucumber.listener.ExtentCucumberFormatter: