Я хочу иметь возможность фотографировать элементы на Android, например, на странице с 4 холстами я хочу получить скриншот только третьего холста. Затем я сделаю что-нибудь на странице и использую sikuli, чтобы убедиться, что холст не изменился. Я могу сделать это на рабочем столе с помощью следующего кода:
public void shootWebElement(WebElement element, AndroidDriver driver,String fileName) throws IOException {
File screen = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
Point p = element.getLocation();
int width = element.getSize().getWidth();
int height = element.getSize().getHeight();
BufferedImage img = ImageIO.read(screen);
BufferedImage dest = img.getSubimage(p.getX(), p.getY(), width,
height);
ImageIO.write(dest, "png", screen);
File f = new File(fileName);
FileUtils.copyFile(screen, f);
}
Этот код работает на Android, но изображение, которое я получаю, не относится к элементу, это частичное изображение всего представления (это изображение будет одинаковым для любого элемента, который я использую в качестве параметра).
Кто-нибудь знает способ обойти это?