How to get the test result status from TestNG/Selenium in @AfterMethod?
just do it:
public class stacktest {@Testpublic void teststackquestion() { boolean actual = true; boolean expected = false; Assert.assertEquals(actual, expected);}@AfterMethodpublic void afterMethod(ITestResult result){ try { if(result.getStatus() == ITestResult.SUCCESS) { //Do something here System.out.println("passed **********"); } else if(result.getStatus() == ITestResult.FAILURE) { //Do something here System.out.println("Failed ***********"); } else if(result.getStatus() == ITestResult.SKIP ){ System.out.println("Skiped***********"); }} catch(Exception e) { e.printStackTrace(); }}
}
The TestListenerAdapter
has methods for each of those situations (success, skipped, failure). My suggestions is to make your own listener like this.
public class MyTestResultListener extends TestListenerAdapter { @Override public void onTestFailure(ITestResult result) { // do what you want to do } @Override public void onTestSuccess(ITestResult result) { // do what you want to do } @Override public void onTestSkipped(ITestResult result) { // do what you want to do }}
Then add your listener to the test class.
@Listeners(MyTestResultListener.class)public class MyTest {// your tests}