我在这方面遇到了很多麻烦,而且文档也没有解释太多。我有一个名为 ReportCreation 的方法,它为每个测试用例运行,在该方法中我有以下内容:
public static ExtentReports ReportCreation(){
System.out.println(extent);
if (extent == null) {
extent = new ExtentReports();
htmlReports = new ExtentHtmlReporter(fileName+ n + "\\extentReportFile.html");
htmlReports.config().setReportName("Pre release Smoke test");
htmlReports.config().setTheme(Theme.STANDARD);
htmlReports.config().setTestViewChartLocation(ChartLocation.BOTTOM);
extent.attachReporter(htmlReports);
}
else {
htmlReports = new ExtentHtmlReporter(fileName+ n+ "\\extentReportFile.html");
htmlReports.setAppendExisting(true);
extent.attachReporter(htmlReports);
}
return extent;
}
因此,当第一个单元测试运行时,它将创建 html 报告,但第二个单元测试会看到报告已经生成,因此使用现有的报告。
我创建了一个随机数生成器,以便在每次运行时生成不同的报告
public static Random rand = new Random();
public static int n = rand.nextInt(10000)+1;