使用图像识别标识对象

相关项: GUI 测试和组件

通过图像识别,UFT One 可以根据应用程序中对象的外观 (而不是属于对象设计一部分的属性) 来标识这些对象。这在使用技术不受 UFT One 支持的应用程序或在远程计算机上运行的应用程序时非常有用。

备注: 仅在主监控器上支持洞察。

概述

使用图像识别时,UFT One 会将对象图像与图像识别测试对象一起存储 (如有必要,还与序号标识符一起存储),并将此图像用作主描述属性来标识应用程序中的对象

您可以在录制会话期间或者在将测试对象手动添加到对象存储库时创建 InsightObject 测试对象。

将对象添加到对象存储库时,可以直接从应用程序中添加对象,甚至可以从屏幕上显示的对象图片中添加对象。

在对象存储库中,可以编辑对象的属性(例如其名称和图像)以及执行测试对象方法时要在控件中单击的默认位置。还可以定义可视关系标识符以提高 UFT One 准确识别对象的能力。

返回页首

创建图像识别测试对象

UFT One 将使用以下元素识别图像识别对象:

描述属性

UFT One 存储对象的图像,并将此图像用作主描述属性来标识应用程序中的对象。

UFT One 还使用以下其他描述属性来确保唯一标识:

  • 相似度: 指定应用程序中的控件与测试对象图像之间必须有多大的相似度才能被视为匹配。

  • skipmakeobjvisible: 指定在尝试标识对象之前是否跳过确保对象可见的步骤。

    例如,如果您看到 UFT One 使对象可见的尝试会导致应用程序窗口在对象被标识之前关闭。

  • methodoptionorder: 指定 UFT One 使用图像匹配算法的顺序。

  • ratiotestthreshold: 功能与其最接近的匹配的距离与其第二接近的匹配的距离之比的阈值。

忽略区域

如果对象的某些部分看起来并非始终相同,则可以指示 UFT One 在使用图像标识该对象时忽略这些区域。

序号标识符

UFT One 可以使用序号标识符为该对象创建唯一描述。

对象配置的其他方面(例如强制属性和辅助属性以及智能标识)与洞察测试对象无关。

可视关系标识符

UFT One 为图像识别测试对象创建描述后,添加可视关系标识符可改进对象标识。

洞察对象始终作为代表其包含的应用程序的测试对象(例如 Window 或 Browser 对象)的子对象添加到对象存储库中。(如果新对象的父对象尚未存在于对象存储库中,还将添加这些父对象。)

备注: 由于测试对象图像和快照随测试对象一起保存,因此洞察测试对象需要比其他测试对象更多的磁盘空间。

要控制使用的空间量,请在图像识别和文本对象窗格 (选项对话框 > GUI 测试选项卡)中限制快照大小。

在添加所有相关测试对象并在对象存储库中将其修改至满意程度之后,可以删除所有快照以减少使用的磁盘空间量。

返回页首

使用图像识别测试对象创建步骤

使用图像识别测试对象创建步骤的方式与使用其他类型的测试对象大致相同。

在编辑器中,在步骤中显示测试对象图像而非测试对象名称。当您将光标悬停在图像上方时,将显示图像的放大视图。双击图像以在选择 InsightObject 的情况下打开对象存储库。

提示: 要显示这些图像,请在“选项”对话框中选择相关选项 (“工具”>“选项”>“GUI 测试”选项卡 >“图像识别”窗格)。

有关受图像识别测试对象支持的方法和属性的详细信息,请参阅《UFT One Object Model Reference for GUI Testing》Insight 部分。

返回页首

使用图像识别运行测试

在测试运行期间,UFT One 会搜索与随测试对象一起存储的图像相匹配的图像识别对象。

UFT One 将在洞察对象的父测试对象中搜索匹配的对象。您可以将搜索限定在较小的区域,方法是在对象存储库中创建较小的父对象并构建洞察测试对象的层次结构。

UFT One 的图像匹配算法允许一些变化,因此即使对象稍微变化,UFT One 也能够识别对象。不过,该算法不基于对象属性,因此不使用智能标识机制。

备注: 使用图像识别对象的步骤在运行时可能需要花费比平常更长的时间,尤其是存在许多具有相同父对象的相似对象时。

返回页首

另请参见: