BaseTest.java:
private static ReportService reportService; // Calling report service interface
@BeforeSuite:
reportService = new ExtentReportService(getConfig()); // New instance of ExtentReportService.
@BeforeMethod:
reportService.startTest(testname); // Starting the test and passing the name and description of the test.
@AfterMethod:
reportService.endTest(); // Ending the test
@AfterSuite:
reportService.close(); // Closing the test
**ExtentReportService.java:** // Contains different extent API methods. (These are designed to be generic.)
protected static ExtentReports extent; // static instance of ExtentReports
protected static ExtentTest test; //static instance of ExtentTTest
@Override // StartTest method
startTest(Method method) {
testMetaData = getTestMetaData(method);
test=extent.startTest(testMetaData.getId(),testMetaData.getSummary());
}
@Override //End test method
endTest() {
extent.endTest(test);
extent.flush();
}
- Это мой селеновый код.
- Когда я выполняю свой файл набора с parallel = "methods" и thread count = "3", я получаю следующую ошибку: "com.relevantcodes.extentreports.ExtentTestInterruptedException: Close был вызван до того, как тест можно было безопасно завершить с помощью EndTest.".
- Во время отладки я обнаружил, что еще до того, как были выполнены все endTest () в AfterMehtod, был вызван AfterSuite.
- Я пробовал разные варианты, чтобы код работал, например, удаление статики, вызов endTest () в самом тесте, а не после метода, удаление вызова close () из AfterSuite и многие другие варианты. Но все равно возникает та же ошибка.
Я перепробовал все возможные решения, представленные в Интернете, но без толку.
- Attaching a hierarchy file for the ExtentReport used in my project
- Я также использую следующее решение, данное в StackOverflow: Отчет о степени: com.relevantcodes.extentreports. ExtentTestInterruptedException: Close был вызван до того, как тест можно было безопасно завершить с помощью EndTest
- Несинхронизированный вывод
- XMF-файл для параллельного тестирования.
extent.flush()
в своем@AfterSuite
- person Bill Hileman   schedule 31.05.2018