我正在使用 AbstractTestNGCucumberTests 运行 Cucumber 功能。
每个功能文件都有一个相应的 Runner 类,该类扩展了 AbstractTestNGCucumberTests 类。
public class LoginRunner extends AbstractTestNGCucumberTests {
}
public class CreateAccountRunner extends AbstractTestNGCucumberTests {
}
我还使用了 Cucumber 报告监听器,它是 ISuiteListener 的实现。完成后,Cucumber ReportBuilder 将生成报告。
public class CucumberReporting implements ISuiteListener{//}
我的 TestNG.xml 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<listeners>
<listener
class-name="listeners.reportlistener.CucumberReport" />
</listeners>
<test name="Test - 1">
<classes>
<class name="testrunner.LoginRunner" />
<class name="testrunner.CreateAccountRunner" />
</classes>
</test>
</suite>
如您所见,有两个运行者类别。当我运行 testng.xml 时,它会执行一个运行程序类,然后移至下一个。
在这种情况下,只有最后运行的功能文件正在生成 Cucumber 报告。换句话说,报告正在被覆盖。每次运行 xml 都会生成一个 HTML 报告。
如何生成一份包含两个运行者类别结果的报告?
最佳答案
我认为,您需要合并 xml 报告文件。使用唯一的名称保存每个文件,然后合并它。这可能会有所帮助:
关于java - 有没有办法为多个 Runner 类运行的多个功能文件创建一个 Cucumber 报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50023279/