摘要
在ui自动化测试领域,会遇到这样的情形:发布一张图片或上传一个头像,如何通过自动化测试的方式判定发布后的图片是否正确呢?又或者,我们如何通过自动化测试的方式判定某网页的某个logo是否与预期的一致呢?也许,你会想,要是能够自动比对图片,将差异化的点在图片上圈出来就好了。相信我,只要你想,就会有。
试想一下,上述情形,像不像我们常玩的“一起来找茬”呢?让我们以具体案例展示如何以自动化的方式“找茬”。
如下所示,图1、图2是我们两张相似图片(暂定图1名为img1,图2名为img2)。我们以图1、图2为例,使用自动化的方法找出两张图片中差异之处。
图1. img1
图2. img2
方案设计
对于比较图片差异性,我们经常使用的是图片识别的方法。最基本的方法则是:
-
“RGB转灰”将图片转换为灰度图,去除颜色信息干扰;
-
“切割/缩放至相同尺寸”是为了保持一致性、防止失真,避免图片在尺寸变化时产生失真和形变,从而确保图片的质量和准确性,也避免因为图片的尺寸不同,影响判定结果。
同时,缩放和切割,也可以减少图片处理过程中的计算量,提