How to capture screenshot for failed test cases in Selenium Webdriver

Writing Selenium Webdriver script is not enough everyone can design script nowadays. We need to design script in such a way that we can utilize script code as much as possible.This article will talk about Capture screenshot in selenium for failed test cases.

I am a big fan of screenshots in Automation because it helps me a lot to identify the exact issue.

Generally, scripts fail in 2 situations.

1-If script has some issue (some locator has been changed or application has some changes)- In this case, we need to maintain our Selenium script.

2-Due to application issue- In this case, we need to inform to respective point of contact (Manual Tester or Developer)

How to Capture screenshot in selenium for failed test cases

Previously I have covered a post on capture screenshot in Selenium so if you have not gone through the previos post then I will highly recommend you to please go through the post and youtube as well.

 

Today we will see something different How to capture a screenshot for failed test cases in Selenium Webdriver.

Here I will be using two new topics which will help us to achieve the same.

1-We will use ITestResult Interface which will provide us the test case execution status and test case name.

Please refer official doc for ITestResult

2- @AfterMethod is another annotation of TestNG which will execute after every test execution whether test case pass or fail @AfterMethod will always execute.

Please refer official doc for @AfterMethod

If you are new to TestNG and want to explore more on TestNG then I will recommend you to please go through below TestNG topics.

I have covered a couple of topics for TestNG. You can check all TestNG Tutorial here

Now let’s get started and will see through a complete program.

 

If you want to refer video for the same then refer below YouTube video

 

Program to Capture screenshot in selenium for failed test cases

Above code will execute fine and if test case will fail it will capture the screenshot. Check below screenshot

Capture screenshot in selenium for failed test cases

 

Above code is fine but still we need to enhance our code so that we can reuse.

We will create Utility class which will have one method which will capture the screenshot.

Code to create method for screenshot

You call the above method in below format

 

Hope above article will help you in Interview or in your automation test framework.

Comment below if any queries or suggestion or Feedback.

For More updates Learn Automation page

For any query join Selenium group- Selenium Group

 

 

44 Comments

  1. Amit
  2. Tester Sweta
      • Tester Sweta
  3. M Rakesh
  4. Sowmya
  5. getText
  6. kanchana
  7. Abhinav
  8. jay
  9. palani
  10. Prashant
  11. Asif Mohammad
  12. Nikhil
  13. jay
  14. Adrian
  15. nikhil
  16. Adarsh
  17. anoop
  18. sree
  19. Amit Nagpal
  20. Sonia Sharma
  21. Vinicius Lara

Leave a Reply