03
Dec
ake multiple screenshots in Selenium WebDriver
// Take multiple screenshots in Selenium WebDriver
public static void takeMultipleScreeShot(String fileName) {
JavascriptExecutor exe = (JavascriptExecutor)driver;
exe.executeScript("window.scrollTo(0,0)");
Boolean a = (Boolean) exe.executeScript("return document.documentElement.scrollHeight>document.documentElement.clientHeight");
Long clientH = (Long)exe.executeScript("return document.documentElement.clientHeight");
Long scrollH = (Long)exe.executeScript("return document.documentElement.scrollHeight");
int index = 1;
if(a.booleanValue() && !"firefox".equalsIgnoreCase(file.getBrowser())){
while(scrollH.intValue() > 0){
GenericHelper.takeScreenShot(fileName + "-" + index);
GenericHelper.executeScript("window.scrollTo(0," + clientH * index + ")");
scrollH = scrollH - clientH;
oLog.info(" Screen Shot Taken : " + index);
index++;
}
}else
GenericHelper.takeScreenShot(fileName);
}
public static void takeScreenShot(String fileName) {
date = new SimpleDateFormat("dd-MM-yyyy");
cal = Calendar.getInstance();
String folderName = "" + date.format(cal.getTime());
String path = getRootPath() + "screenshot" + System.getProperty("file.separator") + folderName;
folder = new File(path);
if(!folder.exists())
folder.mkdir();
try {
File src = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(src, new File(path + System.getProperty("file.separator") + fileName + ".jpg"));
oLog.info(" ScreenShot File : " + fileName + ".jpg");
} catch (IOException e) {
e.printStackTrace();
oLog.fatal(" IOException : ", e);
}
}
public static Object executeScript(String script) {
JavascriptExecutor exe = (JavascriptExecutor)driver;
return (exe.executeScript(script));
}
0 comments