Taking Screenshot Using Webdriver


In selenium webdriver, we can take the screen shot using the below command.
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);

import java.io.File;
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.firefox.FirefoxDriver;
import org.testng.annotations.Test;

public class takeScreenShotExample{
public WebDriver driver;

@Test
public void openBrowser() throws Exception {
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get(“http://www.google.com”);
try{
//the below statement will throw an exception as the element is not found, Catch block will get executed and takes the screenshot.
driver.findElement(By.id(“testing”)).sendKeys(“test”);

//if we remove the below comment, it will not return exception and screen shot method will not get executed.
//driver.findElement(By.id(“gbqfq”)).sendKeys(“test”);
}
catch (Exception e){
System.out.println(“I’m in exception”);
//calls the method to take the screenshot.
getscreenshot();
}
}

public void getscreenshot() throws Exception
{
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
//The below method will save the screen shot in d drive with name “screenshot.png”
FileUtils.copyFile(scrFile, new File(“D:\\screenshot.png”));
}
}

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s