视觉验证点
要创建视觉验证点,请使用 squishide
或 createVisualVP(objectNameOrReference, vpFile) 函数。您可以在 视觉验证点 对话框中查看比较失败并进行预期视觉状态的编辑。
普通编辑模式
在对对象层次结构的视觉状态进行Boolean测试之前,可以通过test.vp(name) 函数检查来配置预期的视觉状态。要打开编辑器,请选择验证点文件并点击编辑图标()或双击文件。
对话框围绕要检查的GUI结构的图像展开。在左侧,通过树形视图显示发现的子控件层次结构(结构)。通过在树项或图像上单击选择控件后,该控件的属性和激活的检查将会在右侧的 属性 窗格中显示。
对象属性被分组为以下类别:标识、内容、几何形状 和 截图。这也是在测试执行过程中找到匹配对象层次结构后随后遵循的顺序。
识别属性
有些对象属性对于视觉外观来说并不相关。但如果两个对象快照的结构不相似,它们可以帮助将一个树中的一个对象映射到另一个树上。
如果一个对象具有识别属性的稳定性不稳定(例如,HTML元素的id属性通常被分配为动态计算的值),则可以将这些属性从要考虑的对象特征列表中排除。
内容属性
内容属性会影响UI元素在屏幕上的呈现方式。无论是通过文本内容、数值还是按钮的当前状态。
内容属性是身份检查的一部分,因为它们通常提供区分元素的一种好方法。
如果属性的值可以调换,则可以配置使用通配符字符的模糊检查。
几何属性
一个元素的几何形状由其x和y位置(相对于登录元素进行顶部元素)以及其宽度和高度指定。
如果在测试执行平台之间几何形状可以变化,可以指定可接受的容忍度。
截图
可以为整个窗口、单个控件或控件组执行截图检查。
默认情况下,整个表面都会进行检查(逐像素),但在内容不稳定的情况下,检查可以禁用。
查看视觉差异
失败的Boolean test.vp(name) 测试将在 测试结果视图 中显示,简要说明失败的检查。
单击 查看差异 工具栏按钮将在分析差异详细信息的情况下以扩展模式打开编辑器。
在扩展模式下,编辑器将同时显示预期和实际图像,列出了标记为红色的 失败 和差异。
属性 包含一个额外的 层次结构 部分。此部分将显示两个对象结构之间可能的不一致。
单击 结构 按钮将在显示面板上显示整个对象结构,包括相同和不同的对象。
绿色勾选标记表示所有活跃检查均获得积极结果,如果至少有一项检查失败,则显示红色圆圈。黄色图标表示对象经过成功的检查,但在其子对象或子对象的子对象中发现了失败。
调整视觉验证
理想情况下,启用所有检查项的验证点执行会产生积极结果。由于众多因素,验证可能会失败。至少在第一次运行时。许多类型的失败可以通过按“放松检查”按钮自动处理。另一方面,“接受所有”按钮将简单地用现在看到的实际状态覆盖预期状态。
以下是一些在验证点持续失败时推荐的更具体的“调整”方法。
处理截图检查失败
对于已知包含动态内容的数据关闭截图检查。如果仅考虑内容和几何检查就足以验证 UI 布局。
处理内容检查失败
如果属性值不稳定,考虑使用通配符。如果不可避免,通过取消选中“包含在验证中”完全删除检查。
处理几何检查失败
在几何形状不同的情况下,可以通过使用 x、y、宽度和大小的允许范围来放宽检查。或者通过取消选中“包含在验证中”完全删除检查。
创建状态与执行状态
在执行测试时,应用程序的状态可能会与交互式创建验证点时看到的状态略有不同。因此,布局检查可能立即失败。首先,检查更改是否可能接受。然后使用“接受所有”按钮接受更改。这可以使检查在后续运行中使用。
暂时状态引起的失败
在应用程序状态转换期间执行的验证点可能对精确时间非常敏感。UI 的一部分可能仍在设置阶段。在 test.vp() 之前插入 snooze() 语句可以使检查进入 UI 的稳定状态。
©2024 The Qt Company Ltd. 本文件中包含的文档贡献的版权属于其各自的拥有者。
提供的文档根据家用自由文档许可证第 1.3 版的条款进行许可,如自由软件基金会发布。
Qt 和相应的徽标是芬兰和/或世界各地 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。