【发布时间】:2019-02-28 15:22:14
【问题描述】:
当我在多线程中运行我的测试(使用 TestNG 在多线程中启动测试)时,我遇到了ExtentTestInterruptedException 异常:
com.relevantcodes.extentreports.ExtentTestInterruptedException:
Close was called before test could end safely using EndTest.
at com.relevantcodes.extentreports.Report.terminate(Report.java:425)
at com.relevantcodes.extentreports.ExtentReports.close(ExtentReports.java:917)
遵循的步骤
- 我开始使用
@BeforeTest方法和范围报告startTest方法进行测试 - 并以
@AfterMethod方法中的范围报告endTest结束我的测试 - 我的范围报告关闭方法在
@AfterSuite函数中定义。 - 我从
@AfterSuite中删除了close()方法调用,但在这种情况下,少数测试用例的结果显示为未知。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
请分享试用码。
-
导入 com.relevantcodes.extentreports.ExtentReports;导入 com.relevantcodes.extentreports.ExtentTest;导入java.io.File;公共类 ExtentReport { 公共静态 ExtentReports 范围;公共静态 ExtentTest 测试; public static void initExtentReport() { extent = new ExtentReports( System.getProperty("user.dir") +"/test-output" + File.separator + "API.html", true); extent.loadConfig(new File(System.getProperty("user.dir") + "/reportconfig.xml")); } }
-
仅在您的问题中包含试用代码。您需要分享您的 AfterMethod 和 AfterSuite 注释代码。
-
@NikhilIndurkar 我建议使用版本 4 API。第 2 版不再受支持,第 3 版也即将停止支持。文档:extentreports.com/docs/versions/4/java
-
@foursyth:我集成了 4.05 版本的 aventstack 范围报告,我也没有收到相同的错误消息,但在这种情况下,通过测试用例没有任何信息,即当我看到结果时通过测试用例没有日志信息(不知何故我无法为这个问题添加附件)
标签: java testng extentreports