使用图像识别测试 GUI 应用程序

本练习介绍如何使用 UFT One 的图像识别功能进行测试。通过图像识别,UFT One 可以根据捕获的应用程序快照 (而不是对象的描述属性) 来标识应用程序中的对象。当很难找到具有标准属性/值对的对象时,此功能非常有用。

要标识图像识别对象,必须将测试对象作为图像识别对象添加到存储库中,而不是使用相关技术插件。

为图像识别对象新建测试

新建一个测试,您可以在其中添加图像识别对象和要测试的步骤。测试和操作可以包含图像识别对象和使用标准对象识别添加的对象的组合。

本练习要求测试中仅包含一个操作,并且需要 LoginFlightFinder 对象存储库。

要创建测试,请执行以下操作:

  1. 如果您已关闭并打开 UFT One,请确保在已加载 WPF 插件的情况下启动它。

  2. 单击“新建” 工具栏向下箭头,并选择“新建测试”

  3. 选择“GUI 测试”,然后将测试命名为 Insight

    选择默认位置,并将“解决方案名称”字段留空。此测试将与本教程的其他测试分开保存。

    单击“创建”以创建测试。

  4. LoginFlightFinder 对象存储库与操作关联。

    1. 在解决方案浏览器中,右键单击 Action1 节点并选择“将存储库与操作关联”

    2. 浏览到 TutorialObjectRepositories > Login.tsr 对象存储库并选择该存储库,然后单击“打开”

      Login.tsr 存储库将被添加到解决方案浏览器中的 Action1 节点下。

    3. FlightFinder.tsr 文件重复前面的步骤。FlightFinder.tsr 存储库也将被添加到 Action1 节点下。

  5. 保存测试,然后继续学习将图像识别对象添加到存储库中

返回页首

将图像识别对象添加到存储库中

将图像识别测试对象添加到 FlightFinder.tsr 对象存储库中,以单击 Order 按钮。

要添加 Insight 对象,请执行以下操作:

  1. 在解决方案浏览器中,右键单击 FlightFinder.tsr 节点并选择“打开存储库”

  2. 在对象存储库管理器中,选择“文件”>“启用编辑”

  3. 打开 MyFlights GUI 应用程序,然后登录。

    有关更多详细信息,请参阅航班 GUI 层

  4. 在 BOOK FLIGHT 页面上,注意底部不断变化的广告。

    此广告是图像识别对象标识的良好用例,因为广告中的 Order 按钮不会被识别为单独的 WPF 对象。

    例如,如果您尝试侦测 Order 按钮本身,则 UFT One 无法标识它。有关更多详细信息,请参阅侦测 MyFlight 应用程序中的对象

  5. 在对象存储库管理器中,单击“添加图像识别对象”按钮

  6. 在打开的“选择识别模式”对话框中,单击“自动”。这使 UFT One 能够自动选择应用程序中的某个区域或部分作为图像识别对象。

  7. UFT One 将最小化,以使您能够选择对象。

    在 MyFlights 应用程序中,单击广告中的 Order 按钮。

    该区域是在“添加图像识别测试对象”对话框中捕获的,且会自动突出显示 Order 文本。

  8. 拖动选定区域,以使其包含整个 Order 按钮,而不仅仅是文本。

    在图像下,确保“指定要在控件中单击的位置”>“中心”选项处于选中状态。

    单击“保存”以将该对象添加到对象存储库中。

  9. 在对象存储库管理器右侧的“对象属性”窗格中,将该对象从 InsightObject 重命名为 PromotionOrder

  10. 亲自确认 UFT One 可以使用新的图像识别对象找到 Order 按钮。

    选择 PromotionOrder 图像识别对象,然后单击“在应用程序中高亮显示” 工具栏按钮。UFT One 会将 MyFlight 应用程序置于最前面,并突出显示广告中的 Order 按钮。

  11. 保存并关闭对象存储库以返回到 UFT One

  12. 保存测试,然后继续学习将图像识别对象添加到测试中

返回页首

将图像识别对象添加到测试中

添加步骤以测试新的图像识别对象,并了解 UFT One 如何使用图像识别对象标识运行。

要添加 Insight 步骤,请执行以下操作:

  1. UFT One 中打开图像识别测试,且在编辑器中打开 Action1 操作的情况下,添加与已添加到原始 MyFlights 测试中相同的登录步骤。

    将以下行复制并粘贴到编辑器中:

    Copy code
    WpfWindow("OpenText MyFlight Sample").WpfEdit("agentName").Set "john"
    WpfWindow("OpenText MyFlight Sample").WpfEdit("password").SetSecure "5b0bce2fd2c5fdd64271"
    WpfWindow("OpenText MyFlight Sample").WpfButton("OK").Click

    有关更多详细信息,请参阅将步骤添加到 Login 操作中

  2. 添加新步骤以单击 PromotionOrder 按钮。

    请通过以下方式完成此操作: 从“工具箱”窗格中拖动对象,或通过切换到 关键字视图并单击“新建步骤”以选择对象,或使用步骤生成器。

    有关更多详细信息,请参阅:

  3. 选择“录制”>“录制和运行设置”。

    在“Windows 应用程序”选项卡中,确保“仅在以下应用程序上录制和运行:”选项处于选中状态,且下表中已定义 FlightsGUI.exe 应用程序。

    有关更多详细信息,请参阅运行测试

  4. 关闭正在运行 MyFlights GUI 应用程序的所有窗口。

  5. 在工具栏中,单击 “运行”

    1. 在“运行”对话框中,确保“图像识别”测试和“新运行结果文件夹”选项处于选中状态。
    2. 单击“运行”以运行测试。

    UFT One 将打开 MyFlight GUI 应用程序并按配置运行测试步骤。当 UFT One 执行在广告中单击 Order 按钮的步骤时,它将使用图像识别来标识该按钮。

  6. 测试运行完成后,分析运行结果。

    在测试流中,向下滚动并单击 PromotionOrder.Click 步骤。记下步骤详细信息,其中显示了 UFT One 使用图像识别而不是 WPF 插件进行标识的 Order 按钮。

返回页首

后续步骤: