用图像比较测试Web应用程序是一种好方法吗?

时间:2019-11-25 10:58:39

标签: testing web-applications automated-tests applitools

我想知道行业中是否使用基于比较屏幕快照图像的测试Web应用程序,并且这是否是一个好方法。

场景:
-用手拍摄模型图像
-测试仅比较图像的选定部分
-例如,测试用硒编写
-测试始终使用相同的数据
-测试始终在相同的屏幕(相同的分辨率)上运行
-测试将在某些步骤后比较图像(例如:注册后用户帐户页面看起来不错-我们将始终使用相同的数据进行测试)

这有一些优势吗? 它是测试Web应用程序的“稳定”方法吗? 作为(例如)硒测试的最后一步来验证结果是否有用? 您如何看待?

我搜索了该主题,但是找不到任何好的资源。

1 个答案:

答案 0 :(得分:2)

有这类测试的解决方案,例如Applitools。

它基于获取基准屏幕截图,然后后续的屏幕截图获取与原始图像的差异。有4个不同的比较级别:

  1. 精确(MatchLevel.EXACT)-像素间比较
  2. 严格(MatchLevel.STRICT)-严格比较所有内容,包括每个元素的内容(文本),字体,布局,颜色和位置,但知道忽略人类看不见的渲染更改
  3. 内容(MatchLevel.CONTENT)-内容的工作方式与严格一样,只是它忽略了颜色
  4. 布局(MatchLevel.LAYOUT)-比较基准图像和实际图像的布局(即结构)。它会忽略页面之间的内容,颜色和其他样式更改。
我认为

一个很大的优势 是,这种测试可以捕获意外错误(视觉或其他)继续(您无需编写多个断言,只需比较屏幕截图即可)。您也可以用更少的代码编写脚本。

可能的 缺点 是:您无法处理动态内容,有时无法拍摄屏幕截图,并且由于有屏幕截图,因此可以测试执行(使用img文件)可以更长一些。

注意:我没有参与Applitools,但是他们的网站上有很多tutorial courses

相关问题