使用图像识别或文本测试对象
相关项: GUI 测试和组件
将图像识别或文本测试对象直接从应用程序添加到对象存储库,甚至可以从屏幕上显示的对象图片中添加这些对象。
添加图像识别或文本对象
此部分描述如何将图像识别或文本测试对象添加到对象存储库。
添加图像识别或文本对象
-
在“对象存储库管理器”或“对象存储库”窗口中,单击“将图像识别对象添加到本地” 或“将文本对象添加到本地” 工具栏按钮。
-
在“选择识别模式”对话框中,选择要用于识别对象的模式,然后选择控件或文本。
备注: 要显示“选择识别模式”对话框,请在“选项”对话框中启用此选项 (“工具”>“选项”>“ GUI 测试”选项卡 >“图像识别和文本对象”节点)。
自动识别模式指针将变成指向手。单击应用程序中的控件或文本。
UFT One 自动检测控件或文本的边框,并获取其快照。
此模式较为快捷,且适用于大多数情况下的图像识别对象。
手动识别模式指针变成十字线,旁边的圆圈显示十字线中心周围区域的放大图像。
Example:
获取应用程序中的控件或文本的快照,手动指定控件或文本的边框。
如果自动模式不能正确检测控件或文本的边框 (例如当它选择的应用程序区域比所需区域大得多时),请使用此模式。
通过按住左边 Ctrl 键,可以将指向手或十字线临时变成标准指针。
这使您可以更改窗口焦点或在 UFT One 或应用程序中执行操作。
-
在“添加图像识别测试对象”或“添加文本测试对象”对话框中,可以执行下列操作:
-
调整对象存储库中随测试对象一起保存的图像的边界。
-
新建快照以完全替代此图像。
对于图像识别对象:
-
指定要从测试对象图像中排除的区域。在屏幕上搜索图像以标识对象时,UFT One 将忽略这些区域。
-
修改测试对象的 ClickPoint。这是在控件上运行测试对象方法时在控件中单击的位置。
-
-
单击“保存”以添加图像识别或文本测试对象。
新的测试对象及选定的图像添加到对象存储库中,位于表示包含控件或文本的应用程序或窗口的测试对象之下。
在对象存储库中:
- 图像识别对象名为 InsightObject,保存的图像用于标识应用程序中的控件。
-
对于文本对象,UFT One 使用 OCR 从图像中提取文本并将其保存在对象的 text 属性中。测试对象名称基于提取的文本,并且该文本用于标识应用程序中的相关文本。
UFT One 2022 及更高版本: 使用 ABBYY OCR 时,UFT One 使用额外的颜色相关属性进行文本标识,包括 textcolor、backgroundcolor、huethreshold 和 isinverted。这些属性只有在使用 Abbyy OCR 时才会生效。
定义新的文本测试对象
您可以通过描述在对象存储库中创建文本测试对象,指定用于在应用程序中标识对象的文本。
-
如定义新测试对象中所述,使用工具栏中的“定义新测试对象”按钮 。
-
在“环境变量”下拉列表中,选择 IBA。然后选择“TextObject 类”,并指定用于对象标识的属性。
UFT One 2022 及更高版本: 如果您使用 ABBYY OCR,您可以通过单击“添加描述属性”按钮来指定与颜色相关的属性。
修改图像识别或文本测试对象的图像
-
在“对象存储库”或“对象存储库管理器”窗口中,选择要修改其图像的测试对象。
如果您在编辑器中,则双击步骤中的测试对象的图像。
-
在测试对象图像区域中,单击更改测试对象图像按钮 。
如果您修改文本对象的图像,则测试对象的 text 属性会相应更新。
UFT One 2022 及更高版本: 使用 ABBYY OCR (在使用 ABBYY OCR 添加的对象上) 时,测试对象的颜色相关属性也会更新。
从图像识别对象中检索文本
使用 Insight.GetVisibleText 方法可检索图像识别对象中显示的文本。UFT One 使用 OCR 机制识别并返回文本。
使用此文本进行验证,也可用于区分对象或应用程序的状态。
- Example:
-
如果应用程序中按钮上的文本在操作成功时发生更改,则检查该文本以验证是否成功。
确保使用“排除区域”忽略洞察对象定义中的文本区域。
-
如果应用程序中有两个类似的对象(其不同之处仅在于文本),则使用“排除区域”忽略图像中的文本,将二者识别为相同的对象。
然后,使用 GetVisibleText 检查对象上的文本,并在测试或组件中区分这两个对象。
有关更多详细信息,请参阅《UFT One Object Model Reference for GUI Testing》的 Insight 部分。
更新图像识别测试对象详细信息
执行以下任何操作,以提高测试或组件的可读性和效率:
-
将测试对象重命名为描述其表示的控件的名称。(建议)
-
将测试对象移动到测试对象层次结构内:
如果将其置于其他测试对象下... 则 UFT One 仅在其父测试对象内的应用程序中搜索此对象。
如果将图像识别测试对象移动到顶级对象... 则 UFT One 在屏幕上的任何位置搜索此对象。 -
更新其他描述属性,例如测试对象描述的 similarity、skipmakeobjvisible、methodoptionorder 和 ratiotestthreshold。
有关详细信息,请参阅《UFT One Object Model Reference for GUI Testing》中的 InsightObject description properties 主题。
-
修改为测试对象创建的序号标识符。有关详细信息,请参阅序号标识符。
-
定义测试对象的可视关系标识符。有关详细信息,请参阅可视关系标识符。
有关更多详细信息,请参阅维护对象存储库中的测试对象。
提示: 完成对所有图像识别测试对象的修改后,请删除所有快照以减少磁盘空间使用量。这并不会删除用于对象标识的测试对象图像。
选择“工具”>“删除图像识别快照”。
另请参见: