Для исследования, которое я делаю, мне нужно захватить состояние результата (Passed/Failed) после запуска метода тестирования (@Test), из @AfterMethod.Как получить статус результата теста от TestNG/Selenium в @AfterMethod?
Я использую импорт org.testng.ITestResult; как выход из моего исследования, чтобы облегчить мою работу после нескольких онлайн-блогов, но похоже, что это не помогло моему ожиданию, как всегда результат результата, прошедший, , хотя утверждение не получило.
Мой код выглядит следующим образом:
public class SampleTestForTestProject {
ITestResult result;
@Test(priority = 1)
public void testcase(){
// intentionally failing the assertion to make the test method fail
boolean actual = true;
boolean expected = false;
Assert.assertEquals(actual, expected);
}
@AfterMethod
public void afterMethod() {
result = Reporter.getCurrentTestResult();
switch (result.getStatus()) {
case ITestResult.SUCCESS:
System.out.println("======PASS=====");
// my expected functionality here when passed
break;
case ITestResult.FAILURE:
System.out.println("======FAIL=====");
// my expected functionality here when passed
break;
case ITestResult.SKIP:
System.out.println("======SKIP BLOCKED=====");
// my expected functionality here when passed
break;
default:
throw new RuntimeException("Invalid status");
}
}
}
Результат в консоли:
[TestNG] Running: C:\Users\USER\AppData\Local\Temp\testng-eclipse--988445809\testng-customsuite.xml
======PASS=====
FAILED: testcaseFail
java.lang.AssertionError: expected [false] but found [true]
Я ожидаю, чтобы получить результат теста на переменную, чтобы получить через переключатель, как указано в над фрагментом кода, и распечатайте «====== FAIL =====», когда метод проверки завершится с ошибкой.
Будет ли кто-нибудь помогать мне любезно поймать результат теста выполнения для каждого метода тестирования (@Test). Если метод, к которому я подошел, ошибочен, пожалуйста, помогите мне с фрагментом кода для правильного подхода, любезно.
Спасибо заранее
Я обнаружил, что тестовый слушатель более надежный, чем '@ afterMetod'. Использование '@ afterMethod' в некоторых случаях не выполнялось для неудачных тестов. – bnieland
@bnieland именно поэтому я и предложил. Но он не был выбран в качестве ответа и не проголосовал. Поэтому я предполагаю, что это не то, что он искал. –
@DavidBaak: Хорошо настроенный listner был следующим подходом, который я пробовал, и который сработал для меня успех! Спасибо. Упрощенный и избранный! – hirosht