我正在使用Extent Report Version 4.0.9
为我的两个测试生成报告。我正在从事硒,java,睾丸,黄瓜,maven项目。我的cummanOptions中有两个TestRunner文件,我使用POM.xml
一个接一个地运行。
当我仅运行一个TestRunner时,将按预期生成范围报告。但是,当我一个又一个地运行两个TestRunner时,第二个测试生成的范围报告将覆盖第一个测试生成的报告。
如何将第二个测试生成的ExtentReport附加到第一个测试生成的ExtentReport?
这是我的ExtentReporterListener代码:
public class ExtentReporterListener {
private static Logger log = LogManager.getLogger(ExceptionHandler.class);
private static final String TEST_OUTPUT = TestConfiguration.USER_DIR + "\\test-output\\Screenshots";
public static ExtentHtmlReporter report = null;
public static ExtentReports extent = null;
public static ExtentTest feature = null;
public static ExtentTest scenario = null;
public static ExtentReports setUp() {
String reportLocation = "./Reports/Extent_Report.html";
report = new ExtentHtmlReporter(reportLocation);
report.config().setDocumentTitle("Word press Automation Test Report");
report.config().setReportName("Word Press Automation Test Report");
report.config().setTheme(Theme.STANDARD);
log.info("Extent Report location initialized...");
report.start();
extent = new ExtentReports();
extent.attachReporter(report);
extent.setSystemInfo("Application", "Word Press");
return extent;
}
}
This is my 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 = "listener-class" />
</listeners>
<test thread-count="5" name="frontEnd">
<parameter name="URL" value="front-end-url" />
<classes>
<class name="frontendTestRunner"/>
</classes>
</test>
<test thread-count="5" name="Backend">
<parameter name="URL" value="back-end-url" />
<classes>
<class name="backendtestrunner"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
我正在使用范围报告版本4。某种程度上,旧版本中的setAppendExisting(true);
方法似乎在版本4中不存在。
答案 0 :(得分:0)
在下面的代码行之后,请使附件存在为真。
report = new ExtentHtmlReporter(reportLocation);
report.setAppendExisting(true);
这将在执行后追加测试。
答案 1 :(得分:0)
当我更改testng.xml时,我可以解决ExtentReport改写的问题,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<listeners>
<listener class-name = "listener-class" />
</listeners>
<test thread-count="5" name="frontEnd">
<classes>
<class name="frontendTestRunner">
<parameter name="URL" value="front-end-url" />
</class>
<class name="backendtestrunner">
<parameter name="URL" value="back-end-url" />
</class>
</classes>
</test>
</suite> <!-- Suite -->