Can Selenium take a screenshot on test failure with JUnit?


When my test case fails, especially on our build server, I want to take a picture / screenshot of the screen to help me debug what happened later on. I know how to take a screenshot, but I was hoping for a way in JUnit to call my takeScreenshot() method if a test fails, before the browser is closed.

No, I don’t want to go edit our bazillions of tests to add a try/catch. I could maybe, just possibly be talked into an annotation, I suppose. All of my tests have a common parent class, but I can’t think of anything I can do there to solve this.


  • You must to post comments

A few quick searches led me to this:

Basically, he recommends creating a JUnit4 Rule that wraps the test Statement in a try/catch block in which he calls:

((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES));

Does that work for your problem?

  • You must to post comments
Showing 1 result
Your Answer
Post as a guest by filling out the fields below or if you already have an account.