• What is Automation Testing - Advantages & Types of Tools
  • What is Selenium IDE, Selenium RC, Selenium WebDriver, Selenium Grid?
  • Selenium IDE, Firebug & Firepath Installation


  • Selenium WebDriver Architecture
  • Selenium Installation
  • Challenges and Limitations of Selenium
  • First Selenium WebDriver Script
  • Working with Firefox Browser
  • Solution - Failed To Launch Browser Using Selenium WebDriver
  • Working with Chrome Browser
  • Working with IE Browser
  • Difference Between FindElement & FindElements
  • Install Firebug, Fire path and other add on for Selenium
  • Locators in Selenium
  • Dynamic Xpath
  • Dynamic CSS
  • Handle drop-downs
  • How to work with file upload
  • Handle Alerts & Popups
  • Handle Multiple Windows
  • Mouse Hover event in Selenium
  • Right Click
  • Double Click
  • Drag and Drop
  • Capture Screenshots in Selenium
  • Parameterization
  • Synchronization
  • Implicit Wait, Explicit Wait and Fluent Wait in Selenium
  • Implicit Waits
  • Explicit WebDriver Waits
  • Fluent Wait In Selenium
  • Apache POI
  • How To Read Data From Excel File
  • How To Write Data In Excel File
  • Database Testing Using MSSQL
  • Database Testing Using MySQL
  • Database Testing Using DB2
  • Handle Ajax Call in Selenium
  • Listeners in Selenium
  • Handling JavaScript in Selenium
  • Stale Element Reference Exception in Selenium
  • Integrate Sikuli with Selenium
  • Headless Browser Testing 
  • Headless Browser Testing using HtmlUnitDriver
  • Headless Browser Testing using PhanthomJSDriver


  • TestNG Installation
  • TestNG Complete Tutorial


  • Extent Reports Introduction
  • Extent Reports Generation
  • Capturing Screenshots & Including In Extent Reports
  • Extent Reports Version 4


  • ANT Build Tool - How To Download & Install
  • Maven Build Tool - How To Download & Install
  • Creating Maven Selenium Project
  • GIT Integration with Selenium
  • Jenkins - How To Download & Install
  • Jenkins - Executing TestNG Scripts
  • Jenkins - Generating Reports After Test Execution
  • Jenkins - Executing Maven Project
  • Create build and Execute build for nightly execution
  • Send Email report based on build Status
  • Selenium Continuous Integration with Jenkins [Selenium – Maven – Git – Jenkins] – Step By Step Guide


  • Running Selenium Tests On BrowserStack
  • Kobiton - Mobile Testing Platform with Real Devices


  • Mobile Testing Platform with Real Devices


  • What is Framework & Types of Framework
  • Page Object Model Design Pattern
  • Data Driven Framework
  • How to explain Test Automation Framework or Selenium Automation Framework Architecture In Interview

  • API Testing:

  • Learn API Testing
  • Postman Tutorial (API Testing with Postman)


  • Test Automation Framework Interview Questions
  • Selenium Interview Questions
  • TestNG Interview Questions
  • Java Interview Questions
  • Python Interview Questions
  • API Testing Interview Questions


  • Automation Tester Resume
  • How To Capture Screenshot of Failed Test Cases Using Selenium WebDriver

    How To Capture Screenshot of Failed Test Cases Using Selenium WebDriver:

    Earlier I have posted a detailed post on how to capture a screenshot using Selenium WebDriver. If you have missed it, you could check the detailed post on how to capture screenshot using Selenium WebDriver.

    If a script fails, we need to know where was the error in script. Solution for this is to capture a screenshot of webpage when the test case fails. We could easily identify where exactly the script got failed by seeing the screenshot.

    To achieve this, we could place the entire code in try-catch block. Which means placing the test steps in try block and screen capture statement in catch block. If a test step fails in the try block then it goes to the catch block and capture a screenshot of the web page.

    Below mentioned script shows how to capture a screenshot of failed test cases using Selenium WebDriver.

    Another way of capturing screenshot of failed test cases using Selenium WebDriver is to use ITestResult Interface.

    ITestResult interface provides the test case execution status and test case name

    We do place the screen capture steps in a separate method using AfterMethod TestNG Annotation. If we use TestNG AfterMethod annotation then this particular method (AfterMethod) executes after every test execution.

    Below mentioned script shows how to capture a screenshot using ITestResult Interface.

    If you are not regular reader of my blog then I highly recommend you to signup for the free email newsletter using the below link.

    Get our latest blog posts delivered to your inbox

    Subscribe and get popular blog posts about software testing industry.


    6 thoughts on “How To Capture Screenshot of Failed Test Cases Using Selenium WebDriver”

    1. in the first code box, you wrote “cactch” instead of catch in the try catch section.

      • Good catch LDionsio. Thanks. Have modified that.

    2. Hi Rajkumar
      thanks a lot ur explanation is very useful for interview purpose

      • Thanks for your kind words Shamsher Khan

    3. Hi raj,,

      when you are using ITestResult interface we need to implement that interface right…with out implementing interface can we directly use in screenshot method


      • We can use. I have mentioned two methods in the article.

    Leave a Comment

    Share via
    Copy link
    Powered by Social Snap