- Given any web page, we would like to take its screenshot using Selenium Web Driver.
- We can use this screenshot for reporting purpose or for raising a bug in case of a test case failure.
- We can capture the screenshot of any web page using three simple steps:
- Step 1 : Cast WebDriver object to TakeScreenshot object using
((TakesScreenshot) driver).
- Step 2: Use
getScreenshotAs(OutputType.FILE)
method to create an image file.
- Step 3: Now copy the image file to desired location on your Machine using :
FileUtils.copyFile(src, new File("D:\\Performance testing\\facebookPic.png"));- Screenshot (Image) file will be saved on your machine at specified location. e.g : (
D:\\Performance testing\\facebookPic.png
)
- Screenshot (Image) file will be saved on your machine at specified location. e.g : (
- Now, Go to a specific location on your machine (
D:\\Performance testing\\facebookPic.png
), we will be able to find the screenshot image file there.
- Step 1 : Cast WebDriver object to TakeScreenshot object using
package org.learn;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class takeScreenshot {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "C:\\\\work\\\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.facebook.com/");
driver.findElement(By.id("email")).sendKeys("Username123");
File src = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(src, new File("D:\\Performance testing\\facebbok.png"));
}
}
