我如何在 TestNg 的 @AfterTest 注释中获取测试用例状态。如果测试用例在@AfterTest 中通过或失败,我需要采取一些措施。
@AfterTest(alwaysRun=true)
public void teardown(ITestContext test) throws Exception {
String testcase = test.getCurrentXmlTest().getParameter("id");
}
我如何在 TestNg 的 @AfterTest 注释中获取测试用例状态。如果测试用例在@AfterTest 中通过或失败,我需要采取一些措施。
@AfterTest(alwaysRun=true)
public void teardown(ITestContext test) throws Exception {
String testcase = test.getCurrentXmlTest().getParameter("id");
}
问题是这ITestContext
是全球性的,而不是特定于测试。你需要的是有一个监听器,并让它执行OnTestFailure
http://testng.org/doc/documentation-main.html#testng-listeners
听众打开了很多可能性,所以你可能想研究一下。
如果你想要一个“更快”的解决方案,你可以使用ITestResult.getStatus()
.
以下是 after 方法的示例:
@AfterMethod
protected void afterMethod(ITestResult result, ITestContext testContext) {
if (result.getStatus() == ITestResult.FAILURE) {
//do something in case of fail
} else {
//do something else for success
}
}