How to get the test result status from TestNG/Selenium in @AfterMethod? How to get the test result status from TestNG/Selenium in @AfterMethod? selenium selenium

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}