0

I am using Selenium to automate the CEF application. I am successfully able to perform operations like click etc. But not able to take the screenshot using Selenium driver. As it is very much required feature for automation. How can I do this?

I'm using the following:

  1. CEF application - sample application provided by CEF
  2. selenium jar - selenium-server-standalone-3.0.1
  3. cef_binary_3.2924.1564.g0ba0378_windows64_client
  4. chromedriver

Find the below code:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.OutputType;

public class Example  {
    public static void main(String[] args) {
        // Path to the ChromeDriver executable.
        System.setProperty("webdriver.chrome.driver", "D:/CEFTesting/chromedriver.exe");
        // Path to the CEF executable.
        ChromeOptions options = new ChromeOptions();

         options.setBinary("D:/CEFTesting/cef_binary_3.2924.1564.g0ba0378_windows64_client/Release/cefclient.exe");

        WebDriver driver = new ChromeDriver(options);
        driver.get("http://www.google.com/xhtml");
        sleep(3000);  // Let the user actually see something!
        WebElement searchBox = driver.findElement(By.name("q"));
        searchBox.sendKeys("ChromeDriver");
        searchBox.submit();
        sleep(5000);  // Let the user actually see something!

        String screenshotBase64 = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64);
        System.out.println(screenshotBase64);
        sleep(5000);  // Let the user actually see something!
        driver.quit();
    }
}

I am facing the error.

Donald Duck
  • 8,409
  • 22
  • 75
  • 99
  • May we see what code you have so far? What driver/language are you using? Have you researched how to do this? – halfer Feb 07 '17 at 19:15
  • 1) CEF application - Sample application provided by CEF (link - https://bitbucket.org/chromiumembedded/cef/wiki/UsingChromeDriver.md) 2) selenium jar - selenium-server-standalone-3.0.1 3) cef_binary_3.2924.1564.g0ba0378_windows64_client 4) chromedriver – Shweta12345 Feb 08 '17 at 05:37
  • Shweta, please edit the question if you have more material to add, rather than adding more material in comments or answers. – halfer Feb 08 '17 at 08:57

1 Answers1

0

I'm using the following:

  1. CEF application - Sample application provided by CEF (link - https://bitbucket.org/chromiumembedded/cef/wiki/UsingChromeDriver.md)
  2. selenium jar - selenium-server-standalone-3.0.1
  3. cef_binary_3.2924.1564.g0ba0378_windows64_client
  4. chromedriver

Here is the code:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.OutputType;

public class Example  {
    public static void main(String[] args) {
        // Path to the ChromeDriver executable.
        System.setProperty("webdriver.chrome.driver", "D:/CEFTesting/chromedriver.exe");
        // Path to the CEF executable.
        ChromeOptions options = new ChromeOptions();

        options.setBinary("D:/CEFTesting/cef_binary_3.2924.1564.g0ba0378_windows64_client/Release/cefclient.exe");

        WebDriver driver = new ChromeDriver(options);
        driver.get("http://www.google.com/xhtml");
        sleep(3000);  // Let the user actually see something!
        WebElement searchBox = driver.findElement(By.name("q"));
        searchBox.sendKeys("ChromeDriver");
        searchBox.submit();
        sleep(5000);  // Let the user actually see something!

        String screenshotBase64 = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64);
        System.out.println(screenshotBase64);
        sleep(5000);  // Let the user actually see something!
        driver.quit();
    }
}
Donald Duck
  • 8,409
  • 22
  • 75
  • 99
  • 3
    Shweta, please [edit the question](https://stackoverflow.com/posts/42095658/edit) if you have more material to add - the answer box is only for answers. You have also omitted to mention the error you are seeing. I have edited as much as I can into the question. – halfer Feb 08 '17 at 08:57