录制时按钮还是正常大小,到了另一台电脑回放,截图验证就失败了。打开结果一看,按钮没有缺失,文字也没变,只是字号、边距和图标尺寸都有些不同。Squish会把这些差异纳入比较,因此排查时需要先找到变化来自哪里。若页面确实因缩放出现了文字截断或控件重叠,也应保留失败结果,不能直接换一张基准图了事。
一、Squish怎么添加图像验证点
下面以Squish 9.2英文IDE中的Screenshot VP为例。它保存目标对象的预期截图,并在回放时比较实际图像。开始前先确定要检查的内容:一个图标、一个面板,还是整个窗口,选择范围会直接影响后续结果。
1、在录制或断点处选取对象
已有用例可以先设置断点,运行到目标页面后插入验证点。新用例则可以在录制过程中添加。采集时,尽量让页面停在稳定状态,避免把加载动画或悬停效果一起保存。
①使用【Object Picker】选取需要检查的控件,在【Application Objects】中核对对象。
②在【Verification Point Creator】中选择【Screenshot VP】,填写名称,例如能说明页面和用途的名称。
③点击【Save and Insert Verifications】,然后继续或结束录制,保存用例。
2、先检查一次本机回放
第一次回放可以帮助发现选错对象、截图过早等问题。比如本来只想检查图标,却选中了包含时间和动态提示的整个面板,后续很容易出现与目标无关的失败。
①运行用例,在【Test Results】中查看对应验证记录。
②失败时右键选择【View Differences】,核对预期图和实际图是否来自同一对象、同一状态。
③进入测试用例资源的【VPs】,打开该验证点,通过【Edit Verification Point】查看保存内容。
④若采集状态不正确,回到用例中的相应位置重新采集,确认后再保存基准。
二、Squish图像验证因界面缩放频繁失败如何校准
先选一条失败记录分析,不必同时修改所有验证点。比较时重点看三处:截图尺寸是否变化,控件是否整体等比例放大,以及内部文字有没有重新换行。这几种现象对应的处理方式并不相同。
1、核对缩放来源
系统显示比例相同,应用显示也未必相同。浏览器缩放、应用自身设置和所在显示器,都可能影响最终截图。先恢复采集时的条件,可以验证问题是否由环境差异引起。
①在【Test Results】中打开失败记录的【View Differences】,查看整体尺寸和局部布局变化。
②核对系统显示比例、分辨率、字体及应用缩放;Web测试还要检查浏览器缩放和窗口大小。
③将应用放在约定显示器上,必要时重新启动,再回放同一用例,对比结果。
2、根据实际差异调整比较方式
Strict逐像素比较,对细微渲染变化也会敏感。Pixel容差适用于尺寸相同的图像;Correlation则会在统一尺度后比较灰度相关性,可以用来评估允许整体缩放的场景。调整时要保留能发现错误的判定能力。
①打开【View Differences】→【Comparison Mode】,确认原来的模式。
②若尺寸相同、主要差在线条边缘,选择【Pixel】,结合差异调整【Max.Color Difference】及【Allowed failure threshold】。
③若允许整体缩放,选择【Correlation】,通过【Threshold】设置最低相关程度。
④点击【Save】后回放正常页面,再用已知错误状态测试,检查是否出现错误页面也通过的情况。
3、排除与目标无关的动态内容
有时缩放只是让动态区域的差异更明显,实际干扰来自时间、闪烁光标或实时数据。遮罩适合处理这些内容,但不应用来盖住需要检查的文字和控件。
①在【VPs】中打开验证点,点击【Edit Verification Point】,进入【Mask】。
②用【Add Negative Mask】排除不参与检查的区域;只检查局部内容时,也可以使用【Add Positive Mask】保留目标区域。
③点击【Save】并重新回放,确认缩放后遮罩仍覆盖正确位置,没有遮住验证目标。
三、Squish调整后如何验证校准结果
校准完成后,可以把同一验证点放到几种预期环境中试跑。正常页面应通过,目标缺失或布局出错时应失败。若两种状态都通过,就要重新检查比较模式、阈值和遮罩范围。
1、安排一组有区分度的回放
测试样本不需要一开始就很多,可以先包含基准环境、受支持的另一种缩放比例,以及一处可控的界面错误。
①在两种约定显示条件下分别运行用例,通过【Test Results】查看结果。
②在测试版本中隐藏目标图标或制造其他明确异常,再执行相同验证。
③对意外通过的结果打开【View Differences】,缩小容差或调整遮罩后复测。
④如果不同缩放下页面会重新布局,分别确认页面并维护相应基准,在【Verification Point Creator】中使用清楚的名称区分。
2、为内容判断增加属性验证
截图适合检查外观。按钮是否启用、提示文字是否正确,也可以通过对象属性判断,减少单纯依赖图像相似度造成的遗漏。
①使用【Object Picker】选中控件,在【Verification Point Creator】中选择【Properties VP】。
②勾选对象实际提供的文字、可见性或启用状态属性,点击【Save and Insert Verifications】。
③回放用例,在【Test Results】中分别查看属性与截图结果,确认两类检查都符合预期。
总结
截图验证出现波动时,留下失败图往往比马上更新基准更有用。它能帮助确认显示环境是否改变,也能发现缩放后才暴露的界面问题。平时把采集环境和验证用途写清楚,换机器或调整显示设置后,就容易找到需要复查的部分。希望这些步骤能让大家少花时间反复录图,也让验证结果更便于解释。后续开展Squish相关测试工作时,如有需要,欢迎联系我们交流。