Я добавил класс 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 возвращает статус Success и переходит к onTestSuccess(ITestResult tr)
и показывает статус теста как пройденный.
Какие изменения необходимы для исправления этой конкретной ситуации.Пожалуйста, предложите и спасибо заранее.