我有一个简单的解决方案来比较两个图像(Chrome 浏览器的两个屏幕截图)。为了获取图像,我使用 Ahoot 库。为了比较两个图像,我使用 ImageMagic 工具。
public Screenshot takeScreenshot() {
Screenshot elementScreenShot = new AShot()
.shootingStrategy(ShootingStrategies.viewportPasting(100))
.takeScreenshot(DriverManager.getWebDriver());
return elementScreenShot;
}
我使用 ImageMagic 将基本图像与新图像进行比较 - 实际图像。 但我经常遇到错误。一切都很好,但问题出在田野的角落。
示例: 实际:
预期:
结果(ImageMagic 比较结果):
如您所见,问题在于场角的像素很少。我尝试了很多技巧,但什么也没发生。
最佳答案
我发现问题仅发生在 Chrome 浏览器上。在 Mozilla 上一切正常。看来我们的应用程序在 Chrome 浏览器中渲染时出现了问题。对于同一地点的 10 次执行,7/10 的场角存在差异。
关于java - 使用 Java 和 ImageMagick 比较两个图像时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61138977/