我正在使用一个包含多个套件的套件testng.xml
文件,如下所示:
<suite-files>
<suite-file path="suite1"></suite-file>
<suite-file path="suite2"></suite-file>
</suite-files>
我正在初始化ExtentReport
。BeforeSuite
private static void initializeExtentReport(Configuration config) {
if (extent == null) {
extent = new ExtentReports();
htmlReporter = new ExtentHtmlReporter("reportLocation");
ClassLoader classLoader = ExtentReportService.class.getClassLoader();
File extentConfigFile = new File(classLoader.getResource("extent-config.xml").getFile());
htmlReporter.loadXMLConfig(extentConfigFile);
extent.attachReporter(htmlReporter);
extent.setSystemInfo("Environment", config.getAutomationServer());
}
}
在AfterSuite
,我在打电话flush()
。
所以基本上问题是,当为第二个套件调用之前的套件时,检查 ( extent==null
) 是错误的。我也经历了JavaDocs
for ExtentReports
,我在那里找到了一种方法detachReporter()
。但我无法通过我的 IDE 访问。尝试了许多变化,但没有结果。
编辑:
现在真正发生的是,我正在为报告使用自定义名称,因此没有两个报告名称是相同的。而且,当我使用相同的名称时,结果将被覆盖在套件的同一文件中。