我有一个复杂的问题,请阅读- 我想用我的框架来运行范围报告,该框架是使用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”)
请帮助!!! 我想生成范围报告,该报告也将支持并行执行。
答案 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: