У меня есть простое решение для сравнения двух изображений (два снимка экрана браузера Chrome). Для получения изображения я использую библиотеку AShoot. Для сравнения двух изображений я использую инструмент ImageMagic.
public Screenshot takeScreenshot() {
Screenshot elementScreenShot = new AShot()
.shootingStrategy(ShootingStrategies.viewportPasting(100))
.takeScreenshot(DriverManager.getWebDriver());
return elementScreenShot;
}
Я использую ImageMagic для сравнения базового изображения с новым - фактическим. Но очень часто я получаю ошибку. Все ок но проблема с углами полей.
Пример: Факт:
Ожидал:
Результат (результат сравнения ImageMagic):
Как видите, проблема в небольшом количестве пикселей в углу поля. Я пробовал много трюков, но ничего не происходит.