I am using the following method to take a screenshot.
public static void makeScreenshot(WebDriver driver, String screenshotName) {
WebDriver augmentedDriver = new Augmenter().augment(driver);
/* Take a screenshot */
File screenshot = ((TakesScreenshot) augmentedDriver) .getScreenshotAs(OutputType.FILE);
String nameWithExtention = screenshotName + ".png";
/* Copy screenshot to specific folder */
try {
String reportFolder = "test-output/Screenshots" + File.separator;
String screenshotsFolder = "screenshots";
File screenshotFolder = new File(reportFolder + screenshotsFolder);
if (!screenshotFolder.getAbsoluteFile().exists()) {
screenshotFolder.mkdir();
}
FileUtils.copyFile(screenshot, new File(screenshotFolder
+ File.separator + nameWithExtention).getAbsoluteFile());
} catch (IOException e) {
log("Failed to capture screenshot: " + e.getMessage());
}
log(getScreenshotLink(nameWithExtention, nameWithExtention));
}