Экстент-отчет перезаписывается вместо добавления в несколько тестов - PullRequest
0 голосов
/ 11 октября 2019

Я использую Extent Report Version 4.0.9 для создания отчета по двум моим тестам. Я работаю над проектами Селен, Ява, Тестнг, Огурец, Мавен. В моих cucumberOptions есть два файла TestRunner, которые я запускаю один за другим, используя POM.xml. Когда я запускаю только один TestRunner, отчет по экстентам генерируется, как и ожидалось. Но когда я запускаю оба TestRunners один за другим, отчет о экстентах, сгенерированный вторым тестом, перезаписывает отчет, сгенерированный первым. Как мне добавить 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 -->

Я использую Extent Report версии 4. Как-то setAppendExisting(true); метод, который был в более старой версии, по-видимому, не существует в версии 4.

1 Ответ

0 голосов
/ 25 октября 2019

После приведенной ниже строки кода добавьте дополнение как существующее.

report = new ExtentHtmlReporter(reportLocation);
report.setAppendExisting(true);

Это добавит тесты после выполнения.

...