В некоторых ситуациях при написании тестов с использованием селениума появляется желание прикрепить к отчету снимок не целого экрана, а только лишь отдельного элемента. Разумеется, вариантов, как это сделать - огромное множество. Я , как обычно, решил сделать еще один, свой. Использую его достаточно часто при написании тестов.
Собственно немного об моем подходе можно прочитать далее.
Алгоритм работы
Сам принцип работы до нельзя прост - берется скриншот всего экрана, далее с помощью стандартных библиотек java по определенным координатам вырезается необходимое изображение. Что с ним делать далее - каждый волен решать сам. В моем случае - я записываю его в файл.
1-ый шаг - снимаем скриншот и преобразовываем его в BufferedImage.
Здесь все достаточно просто :
...
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
....
File screenShot = ((TakesScreenshot) webDriver).getScreenshotAs(OutputType.FILE);
BufferedImage screenshotImage = ImageIO.read(screenShot);
....