java.lang.ClassCastException: org.openqa.selenium.remote.RemoteWebDriver cannot be cast to TakesScreenshot

Solved 1 Answers 16 Views
I am getting below error while taking a screenshot.

java.lang.ClassCastException: org.openqa.selenium.remote.RemoteWebDriver cannot be cast to org.openqa.selenium.TakesScreenshot

    at com.qamate.pages.HomePage.takeScreenShot(HomePage.java:73)
    at com.qamate.pages.HomePage.SelectADepartment(HomePage.java:67)
    at com.qamate.step_definations.CheckoutStepDefinitions.addProductsToShoppingBag(CheckoutStepDefinitions.java:60)
    at ✽.Given User added products to shopping bag(com/qamate/checkout.feature:8)


What is the possible solution?

1 Answer

Best answer

There are two things suggest you.

1. Update your selenium dependency to 3.4.0 or the latest one.


2. Instead of casting your RemoteWebDriver instance directly, you should use Augmenter as given below.

WebDriver augmentedDriver= new Augmenter().augment(driver);
File screenShot = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.FILE);


answered May 13 by monisha (51 points)
selected May 14 by stbadmin

Kindly Register and join the community of software testing professionals.


We have recently moved our Question and Answer site from the domain name www.MayurShah.in to https://softwaretestingboard.com/qna as per the feedback from visitors.

For complete history of major changes, you can go to History

Site Status

  • que
  • ans
  • com
  • ua
  • us
  • Questions 817
  • Answers 738
  • Comments 464
  • Unanswered 126
  • Unselected 414