Best Testng code snippet using org.testng.TestListenerAdapter.onTestFailure
Source:TestngListener.java  
...20public class TestngListener extends TestListenerAdapter {21	/*22	 * (non-Javadoc)23	 * 24	 * @see org.testng.TestListenerAdapter#onTestFailure(org.testng.ITestResult)25	 */26	@Override27	public void onTestFailure(ITestResult tr) {28		ITestNGMethod im = tr.getMethod();29		getCaseID(im);30		super.onTestFailure(tr);31	}32	/*33	 * (non-Javadoc)34	 * 35	 * @see org.testng.TestListenerAdapter#onTestSkipped(org.testng.ITestResult)36	 */37	@Override38	public void onTestSkipped(ITestResult tr) {39		ITestNGMethod im = tr.getMethod();40		getCaseID(im);41		super.onTestSkipped(tr);42	}43	/*44	 * (non-Javadoc)...Source:RefactorScreenshot.java  
...25    }26    /*27     * (non-Javadoc)28     * 29     * @see org.testng.TestListenerAdapter#onTestFailure(org.testng.ITestResult)30     */31    @Override32    public void onTestFailure(ITestResult tr) {33        WebDriver driver = (WebDriver) tr.getTestContext()34                .getAttribute("driver");35        System.out.println("onTestFailure"+driver);36        screenShots(driver);37    }38    /*39     * (non-Javadoc)40     * 41     * @see org.testng.TestListenerAdapter#onTestSkipped(org.testng.ITestResult)42     */43    @Override44    public void onTestSkipped(ITestResult tr) {45    }46    /*47     * (non-Javadoc)48     * 49     * @see org.testng.TestListenerAdapter#onTestSuccess(org.testng.ITestResult)...Source:TestNameListener.java  
...5253	/*54	 * (non-Javadoc)55	 *56	 * @see org.testng.TestListenerAdapter#onTestFailure(org.testng.ITestResult)57	 */58	@Override59	public void onTestFailure(ITestResult tr) {60		setTestNameInXml(tr);61		super.onTestFailure(tr);62	}6364	/*65	 * (non-Javadoc)66	 *67	 * @see org.testng.TestListenerAdapter#onTestSkipped(org.testng.ITestResult)68	 */69	@Override70	public void onTestSkipped(ITestResult tr) {71		setTestNameInXml(tr);72		super.onTestSkipped(tr);73	}7475}Source:ListenerClass.java  
...38		System.out.println(".....");39	}4041	/* (non-Javadoc)42	 * @see org.testng.TestListenerAdapter#onTestFailure(org.testng.ITestResult)43	 */44	@Override45	public void onTestFailure(ITestResult tr) {4647		log("Test '" + tr.getName() + "' FAILED");48		log("Priority of this method is " + tr.getMethod().getPriority());49		System.out.println(".....");50	}5152	/* (non-Javadoc)53	 * @see org.testng.TestListenerAdapter#onTestSkipped(org.testng.ITestResult)54	 */55	@Override56	public void onTestSkipped(ITestResult tr) {57		log("Test '" + tr.getName() + "' SKIPPED");58		System.out.println(".....");59	}
...Source:OnFailure.java  
...7 *8 */9public class OnFailure extends TestListenerAdapter {10	/* (non-Javadoc)11	 * @see org.testng.TestListenerAdapter#onTestFailure(org.testng.ITestResult)12	 */13	@Override14	public void onTestFailure(ITestResult result) {15		if (ITestResult.FAILURE == result.getStatus()) {16			17			String methodName = result.getName();18			19			Object webDriverAttribute = 20					result.getTestContext().getAttribute("WebDriver");21			22			WebDriver screendriver = (WebDriver) webDriverAttribute;23			if (screendriver instanceof WebDriver) {24				25				ScreenShots.takeScreenShot(screendriver, methodName);26			27			} else {28				System.out.println("Driver not exist");...Source:DotTestListener.java  
...3import org.testng.ITestResult;4import org.testng.TestListenerAdapter;5public class DotTestListener  extends TestListenerAdapter{6	@Override7	public void onTestFailure(ITestResult tr) {8		super.onTestFailure(tr);9		10		Screenshort.Screenshort();11	}12	@Override13	public void onTestSkipped(ITestResult tr) {14		super.onTestSkipped(tr);15		16	//	Screenshort(tr);17	}18	@Override19	public void onTestSuccess(ITestResult tr) {20		super.onTestSuccess(tr);21		22	}...Source:ReporterLogListener.java  
...11    Reporter.log("Listener: onTestSuccess");12    super.onTestSuccess(result);13  }14  @Override15  public void onTestFailure(ITestResult result) {16    Reporter.log("Listener: onTestFailure");17    super.onTestFailure(result);18  }19  20  @Override21  public void onTestSkipped(ITestResult result) {22    Reporter.log("Listener: onTestSkipped");23    super.onTestSkipped(result);24  }25}...Source:MyTestNGListener.java  
...3import org.testng.TestListenerAdapter;4import org.testng.annotations.Test;5public class MyTestNGListener extends TestListenerAdapter {6	@Override7	public void onTestFailure(ITestResult tr) {8		System.out.println("onTestFailure -- is executed");9	}10	@Override11	public void onTestSkipped(ITestResult tr) {12		System.out.println("onTestSkipped -- is executed");13	}14	@Override15	public void onTestSuccess(ITestResult tr) {16		System.out.println("onTestSuccess -- is executed");17	}18}...onTestFailure
Using AI Code Generation
1public void test1() {2    Assert.assertTrue(false);3}4@Test(enabled = false)5public void test2() {6    Assert.assertTrue(false);7}8public void test3() {9    Assert.assertTrue(true);10}11public void test4() {12    Assert.assertTrue(false, "Test failed");13}14public void beforeTest() {15    Assert.assertTrue(false);16}17public void beforeTest() {18    throw new SkipException("Skipping the test");19}20public void beforeTest() {21    Assert.assertTrue(true);22}23public void beforeTest() {24    Assert.assertTrue(false);25}26public void beforeTest() {27    throw new SkipException("Skipping the test");28}29public void beforeTest() {30    Assert.assertTrue(true);31}32public void beforeTest() {33    Assert.assertTrue(false);34}35public void beforeTest() {36    throw new SkipException("Skipping the test");37}38public void beforeTest() {39    Assert.assertTrue(true);40}41public void beforeTest() {42    Assert.assertTrue(false);43}44public void beforeTest() {45    throw new SkipException("Skipping the test");46}onTestFailure
Using AI Code Generation
1public class TestListener extends TestListenerAdapter {2	public void onTestFailure(ITestResult tr) {3		super.onTestFailure(tr);4		System.out.println("Test Failed");5		WebDriver driver = (WebDriver)tr.getTestClass().getRealClass().getDeclaredField("driver").get(tr.getInstance());6		File src = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);7		try {8			FileUtils.copyFile(src, new File("C:\\Users\\Ravi\\workspace\\Selenium\\Screenshots\\test.png"));9		} catch (IOException e) {10			e.printStackTrace();11		}12	}13}14public class TestListener implements ITestListener {15	public void onTestFailure(ITestResult tr) {16		System.out.println("Test Failed");17		WebDriver driver = (WebDriver)tr.getTestClass().getRealClass().getDeclaredField("driver").get(tr.getInstance());18		File src = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);19		try {20			FileUtils.copyFile(src, new File("C:\\Users\\Ravi\\workspace\\Selenium\\Screenshots\\test.png"));21		} catch (IOException e) {22			e.printStackTrace();23		}24	}25}26public class TestListener implements ITestNGListener {27	public void onTestFailure(ITestResult tr) {28		System.out.println("Test Failed");29		WebDriver driver = (WebDriver)tr.getTestClass().getRealClass().getDeclaredField("driver").get(tr.getInstance());30		File src = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);31		try {32			FileUtils.copyFile(src, new File("C:\\Users\\Ravi\\workspace\\Selenium\\Screenshots\\test.png"));33		} catch (IOException e) {34			e.printStackTrace();35		}36	}37}38public class TestListener implements ITestNGMethod {onTestFailure
Using AI Code Generation
1    public void onTestFailure(ITestResult tr) {2        System.out.println("onTestFailure "+tr.getName());3        try {4            TakesScreenshot ts=(TakesScreenshot)driver;5            File source=ts.getScreenshotAs(OutputType.FILE);6            FileUtils.copyFile(source, new File("./Screenshots/"+tr.getName()+".png"));7            System.out.println("Screenshot taken");8        } catch (Exception e) {9            System.out.println("Exception while taking screenshot "+e.getMessage());10        }11    }12    public void onTestFailure(ITestResult tr) {13        System.out.println("onTestFailure "+tr.getName());14        try {15            TakesScreenshot ts=(TakesScreenshot)driver;16            File source=ts.getScreenshotAs(OutputType.FILE);17            FileUtils.copyFile(source, new File("./Screenshots/"+tr.getName()+".png"));18            System.out.println("Screenshot taken");19        } catch (Exception e) {20            System.out.println("Exception while taking screenshot "+e.getMessage());21        }22    }23    public void onTestFailure(ITestResult tr) {24        System.out.println("onTestFailure "+tr.getName());25        try {26            TakesScreenshot ts=(TakesScreenshot)driver;27            File source=ts.getScreenshotAs(OutputType.FILE);onTestFailure
Using AI Code Generation
1public void onTestFailure(ITestResult tr) {2    Object currentClass = tr.getInstance();3    WebDriver webDriver = ((BaseTest)currentClass).getDriver();4    try {5        File scrFile = ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);6        String filename = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss'.png'").format(new Date());7        File targetFile = new File("target/surefire-reports/html/"+filename);8        FileUtils.copyFile(scrFile, targetFile);9        Reporter.log("<a href='"+targetFile.getAbsolutePath()+"'><img src='"+targetFile.getAbsolutePath()+"' height='100' width='100'/></a>");10    } catch (Exception e) {11        e.printStackTrace();12    }13}14[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ testng-selenium ---onTestFailure
Using AI Code Generation
1import org.testng.ITestResult;2import org.testng.TestListenerAdapter;3import javax.mail.*;4import javax.mail.internet.*;5import java.util.Properties;6public class TestListener extends TestListenerAdapter {7    public void onTestFailure(ITestResult tr) {8        super.onTestFailure(tr);9        sendEmail(tr);10    }11    private void sendEmail(ITestResult tr) {12        Properties properties = System.getProperties();13        properties.setProperty("mail.smtp.host", "smtp.gmail.com");14        properties.setProperty("mail.smtp.port", "587");15        properties.setProperty("mail.smtp.auth", "true");16        properties.setProperty("mail.smtp.starttls.enable", "true");17        Session session = Session.getDefaultInstance(properties,18                new Authenticator() {19                    protected PasswordAuthentication getPasswordAuthentication() {20                        return new PasswordAuthentication("TestNG is a Java-based open-source framework for test automation that includes various test types, such as unit testing, functional testing, E2E testing, etc. TestNG is in many ways similar to JUnit and NUnit. But in contrast to its competitors, its extensive features make it a lot more reliable framework. One of the major reasons for its popularity is its ability to structure tests and improve the scripts' readability and maintainability. Another reason can be the important characteristics like the convenience of using multiple annotations, reliance, and priority that make this framework popular among developers and testers for test design. You can refer to the TestNG tutorial to learn why you should choose the TestNG framework.
You can push your abilities to do automated testing using TestNG and advance your career by earning a TestNG certification. Check out our TestNG certification.
Watch this complete tutorial to learn how you can leverage the capabilities of the TestNG framework for Selenium automation testing.
Get 100 minutes of automation test minutes FREE!!
