完全相同页面的Selenium屏幕截图略有不同

时间:2015-04-08 14:59:26

标签: selenium continuous-integration automated-tests screenshot

作为我们持续集成系统的一部分,我正在实施一个系统,以便在每次提交后比较项目每个页面的屏幕截图。

我正在使用JUnit和Selenium来达到这个目的。它工作得很好,但有时完全相同的页面会导致截图略有不同。

我首先比较屏幕截图的MD5哈希值,然后计算哈希值不匹配时不同像素的数量。在实践中,我经常会得到超过5000个像素,这些像素对于完全相同的页面是不一样的(分辨率是1280x800)。差异出现在文本周围。

这是一张“差异”图片,其中突出显示不相同的像素:

difference

(这是逐像素比较,其中diff被添加到RGB值)

精简代码:

File captured = ((TakesScreenshot) webDriver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(captured, screenshot); // + exception handling
String oldMd5 = hashFile(reference); // previous version of this page
String newMd5 = hashFile(screenshot);
// then compare the hashes...

有什么想法吗?

0 个答案:

没有答案