蛙人 / 博客 / 基于图像的测试套件迁移

基于图像的测试套件迁移

squ 6.3引入了基于图像的测试的概念。它允许与AUT控件查找和交互,而无需任何关于其内部结构的知识。与基于对象的测试不同–这主要独立于GUI的视觉外观–如果基于图像的测试将失败,如果相关的AUT控件的渲染更改。 Squish 6.4扩展了图像搜索功能,能够找到模板图像的大小发生的大小出现,与模板图像小的差异很小。这允许在改变其大小的组件的情况下使用相同的模板图像。

Toolkit版本和造型之间的差异,当前DPI设置或平台特定的渲染差异可能导致整个GUI更改大小。使用大量图像搜索操作的测试套件可能很难迁移到新的测试环境。调整每个单独的图像查找函数调用的选项可能是乏味的并且容易出错。如果AUT控制的大小以一致的方式更改,则调整默认图像搜索参数可能有用。它可以完成 图像搜索 在测试套件设置编辑器中的选项卡。

图像搜索默认参数编辑器
图像搜索默认参数编辑器

猜测这些参数的适当值可能是困难的。一方面,参数值应该足以允许查找所有所需的控件。另一方面,它应该是严格的,以限制执行时间和假匹配的风险。屏蔽IDE可以计算当前测试执行的最佳参数。提供了 testsettings.ObjectNotFoundDebugging. 选项设置为当前测试套件,测试中的任何图像搜索失败,带有鳞片IDE会触发 未找到图像对话框。点击后 调整搜索参数… 按钮,这 图像搜索预览 dialog 应显示最佳图像搜索参数。调整参数时,预览窗格显示图像搜索的更新结果。随后,您可以将所选值应用为新的特定于套件默认值并恢复测试执行。

图像搜索预览 dialog
图像搜索预览 dialog

未找到的图像对话框还提供全自动图像搜索参数调整模式。要激活它,请选择 尝试自动修复图像搜索错误 复选框。它将计算每个失败的图像搜索指令并更新默认值的最佳参数。请注意,由于自动调整模式在没有任何用户交互的情况下运行,所以可能参数值的某些限制就位。这些限制是对放松图像搜索的保障措施太多并允许虚假匹配。

为了保留其他平台所需的任何参数更改,鳞片IDE只能放宽图像搜索参数;它永远不会让它变得更深。通过重复调整过程,每个测试平台导致错误,您可以独立于图像搜索平台。

Mortem调试图像搜索错误

如果在没有SQUISH IDE的情况下执行测试套件并遇到图像搜索错误,则无法立即调整参数值。为了启用验尸映像搜索调试,启用‘在错误上记录屏幕截图‘选项在“测试套件设置编辑器”中。失败的测试结果应包含屏幕截图附件。将测试结果导入IDE后,错误报告的上下文菜单包含“Image Search Preview”入口。它打开图像搜索预览对话框,用于计算图像搜索参数和结果的最佳值。

图像搜索预览 for test error report

图像组

一些GUI元素可以在不同平台之间大大改变他们的外表;例如。因为使用本机图形或渲染样式。在这种情况下,您不能使用单个模板映像来识别这样的控制。这 未找到图像对话框 提供将另一个模板映像添加到当前使用的选项。它将当前图像转换为图像组(如有必要),并将新选择的图像添加到它。图像组可以包含任何数量的图形,这些图形被视为相同GUI元素的等效视觉。存储在组中的图像不必限于平台差异。选择和鼠标悬停状态等其他变体也可能需要额外的图像。

未来的延期

默认图像搜索参数是为整个测试套件设置的。如果少数搜索图像需要不同的值,这可能会变得有问题。每个图像搜索函数调用都可以指定覆盖默认值的自定义值,但难以避免使用每个单独的图像搜索指令的参数的手动管理。未来的QUISHISH将支持自动调整特定于每个单个图像搜索的值。这将允许以详细和精确的方式自动管理图像搜索参数。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

复制链接