I tried taking screenshot with shutterbug but the screenshot is not proper.
PageSnapshot image = Shutterbug.shootPage(driver, Capture.FULL, 500, true);
image.withName("shuteerbug").save(home + File.separator + "Desktop");
I tried taking screenshot with shutterbug but the screenshot is not proper.
PageSnapshot image = Shutterbug.shootPage(driver, Capture.FULL, 500, true);
image.withName("shuteerbug").save(home + File.separator + "Desktop");
Some time ago I was using ru.yandex.qatools.ashot
to capture the whole page to a single image in Katalon Studio (groovy).
public class ImageManager {
@Keyword
def capturePageToJpg(String url, String folderPath, Viewport viewport) {
WebDriver driver = DriverFactory.getWebDriver()
String fileName = getEtalonImageFileName(url)
String filePath = folderPath + fileName
String toReturn
Screenshot screenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(2000)).takeScreenshot(driver)
BufferedImage image = screenshot.getImage()
int viewportHeight = viewport.getHeight()
int imageHeight = image.getHeight()
int pageWidth = driver.findElement(By.tagName("body")).getRect().getWidth()
if (imageHeight > viewportHeight) {
image = image.getSubimage(0, 0, pageWidth, imageHeight)
}
ImageIO.write(image, "jpg", new File(filePath))
File file = new File(filePath)
if (file.exists()) {
KeywordUtil.logInfo("Saved file: " + filePath)
toReturn = filePath
}
return toReturn
}
}
public class Viewport {
String name;
int width;
int height;
public String getName() {
return name;
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
public Viewport(String name, int width, int height) {
this.name = name;
this.width = width;
this.height = height;
}
}
public class ViewportManager {
@Keyword
def desktop() {
Viewport viewport = new Viewport("desktop", 1920, 1080)
return viewport
}
@Keyword
def mobileHorizontal() {
Viewport viewport = new Viewport("mobileHorizontal", 732, 412)
return viewport
}
@Keyword
def mobileVertical() {
Viewport viewport = new Viewport("mobileVertical", 412, 732)
return viewport
}
@Keyword
def tabletHorizontal() {
Viewport viewport = new Viewport("tabletHorizontal", 1024, 768)
return viewport
}
@Keyword
def tabletVertical() {
Viewport viewport = new Viewport("tabletVertical", 768, 1024)
return viewport
}
@Keyword
def setViewport(Viewport viewport) {
int height = WebUI.getViewportHeight()
int width = WebUI.getViewportWidth()
if (height != viewport.getHeight() || width != viewport.getWidth()) {
WebUI.setViewPortSize(viewport.getWidth(), viewport.getHeight())
}
}
}