【发布时间】:2018-12-28 19:27:43
【问题描述】:
我已经添加了一个 testListener 类和我的测试代码,但是即使 testNG 类中的调用方法出现异常,ITestResult 状态也会显示成功并转到onTestSuccess(ITestResult tr) 方法。
testNG 类
@Test (invocationCount=1)
public void offersPageRefresh()
{
//Some steps
cart.selectAndVerifyOffersBanner();
}
购物车页面类
public void selectAndVerifyOffersBanner()
{
try {
//Some steps.
moveToElement(selectOffersButton_MobileSite,driver);
ExtentTestManager.getTest().log(LogStatus.PASS, "Offers banner selected and verified successfully.");
} catch (WebDriverException | InterruptedException e) {
ExtentTestManager.getTest().log(LogStatus.FAIL, "Offers banner selection and verification Failed.");
e.printStackTrace();
}
}
现在,如果 selectOffersButton_MobileSite 元素不存在,它会抛出 NoSuchElementException 并进入 catch 块,并且记录器会正确打印失败消息。但是在完成offersPageRefresh() ITestResult 返回状态成功并转到onTestSuccess(ITestResult tr) 并将测试状态显示为通过。
为了解决这种特殊情况需要进行哪些更改。请提前建议和感谢。
【问题讨论】:
标签: testng