比较不同OS上的图像

问题描述 投票:0回答:2

作为自动化的一部分,我想通过截屏和基线图像来比较图像。将在不同的OS(linux,win)上执行相同的操作。在不同的OS中执行时,屏幕分辨率发生变化,图像比较失败。目前我正在使用Selenium + java。任何人都可以建议我以任何方式或不同的工具来实现它吗?

screen-resolution image-comparison
2个回答
0
投票

因此,为您正在测试的每个环境制作基线,并将测试与该平台的正确测试进行比较(或者只测试其中的所有环境,如果其中任何一个匹配,则标记为传递)。

我不太确定这整个“比较屏幕截图”是测试事物的好方法(你只是遇到了一个障碍,另一个可能是不同的浏览器(甚至同一浏览器的版本)渲染的东西略有不同。


0
投票

这里的关键是分辨率,您必须确保基本图像和测试期间捕获的图像的分辨率相同。

  1. 将浏览器窗口的大小设置为固定大小,例如。 (1920×1080),
  2. 以此分辨率制作所有屏幕截图,
  3. 在测试期间:在每次图像比较之前检查窗口大小是否为(1920x1080),如果不是,我暂时更改它,
  4. 截图,
  5. 将图像与原始图像进行比较
  6. 窗口最大化

其他解决方案是捕获单个WebElement而不是整个页面的屏幕截图,因为WebElements通常与分辨率无关。

© www.soinside.com 2019 - 2024. All rights reserved.