创建对象存储库
本练习介绍如何创建对象存储库,它是用于测试应用程序用户界面的测试对象的集合。
定义 UFT One 的录制和运行设置
配置 UFT One 以将 MyFlight 应用程序中的对象识别为 WPF 测试对象。
执行以下操作:
-
先从在 UFT One 中打开的 MyFlight 解决方案和测试开始。有关详细信息,请参阅计划测试并创建解决方案和创建和运行 GUI 测试。
-
设置 UFT One 的“录制和运行设置”以定义 UFT One 如何识别应用程序中的对象。
-
选择“录制”>“录制和运行设置”。
-
选择“仅在以下应用程序上录制和运行: UFT One 打开的应用程序”和“下面指定的应用程序”
-
单击“添加” 按钮,然后浏览到位于以下位置的 FlightsGUI.exe 文件: <UFT One 安装文件夹>\samples\Flights Application\FlightsGUI.exe
将“应用程序详细信息”对话框中的其他选项保留为其默认值。
-
-
单击“确定”以返回到“录制和运行设置”对话框。
-
再次单击“确定”以返回到 UFT One 主窗口。
然后,继续学习侦测 MyFlight 应用程序中的对象。
侦测 MyFlight 应用程序中的对象
侦测 MyFlight 应用程序中某些对象的可用属性和操作。
执行以下操作:
-
打开 MyFlight 示例应用程序。
如果该应用程序已经打开,请将其关闭并重新打开,以使 UFT One 能够正确识别它。有关更多详细信息,请参阅浏览示例 MyFlight 应用程序。
-
在 UFT One 中,单击“对象标识中心”UFT One 工具栏按钮旁边的向下箭头,然后选择“对象侦测器”。
UFT One 15.0.1 或更早版本: 单击“对象侦测器”工具栏按钮 。
-
将“对象侦测器”对话框拖到一边,并确保“侦测时使对象侦测器保持在最上”处于启用状态。
-
在“对象侦测器”中,单击指向手 以开始侦测。UFT One 窗口将被隐藏,以便您可以侦测 MyFlight 应用程序。
切换到常规 Windows 指针如果在对象侦测器和任何其他应用程序之间来回切换,请按 Ctrl 将指向手更改为常规 Windows 指针。
在需要使用 Windows 指针时一直按住 Ctrl 按钮,然后释放该按钮以切换回对象侦测器的指向手。
-
将鼠标悬停在 MyFlight 应用程序中的不同对象上方,然后在“对象侦测器”对话框中观察属性和值的变化。
位置略有错误如果您认为 UFT One 无法识别位于正确位置的对象,请确保将 Windows 显示设置设为 100%。
否则,您可能需要单击或选择稍微靠近应用程序中实际对象一侧的区域,以使 UFT One 能够正确识别该对象。
-
使用对象侦测器的指向手,单击 MyFlight 中的 Username 编辑框。
注意“对象侦测器”对话框中发生的变化。对象层次结构中将显示名为 agentName 的 WpfEdit 测试对象。
- 单击“关闭”以关闭对象侦测器。
将特定对象添加到对象存储库中
将测试所需的特定对象逐一添加到对象存储库中。
执行以下操作:
-
在 UFT One 中,选择“资源”> “对象存储库管理器”。使用对象存储库管理器,可以管理与测试关联并包含测试对象的对象存储库。
-
在“对象存储库管理器”窗口中,选择“对象”> “添加对象”。UFT One 和对象存储库管理器将隐藏。
-
单击 MyFlights 应用程序中的 Username 编辑框,然后选择 agentName 对象并单击“确定”。
agentName 对象将与其父对象 (Micro Focus MyFlight Sample 窗口对象)一起添加到对象存储库中。
-
重复执行上述两个步骤,为“密码”编辑框和“确定”按钮添加测试对象。
-
-
在“已保存的共享对象存储库”对话框中,浏览到保存解决方案和测试的文件夹,然后新建名为 TutorialObjectRepositories 的文件夹。
默认情况下,解决方案和测试文件夹为 C:\%HOMEPATH%\My Documents\Unified Functional Testing。
- 在“文件名”字段中,输入名称 Login。
注释: 此步骤仅保存对象存储库。它尚未与您的测试关联。
-
-
将 Login 对象存储库与测试中的 Login 操作关联。
这样就可以通过 Login 操作中的任何步骤使用此存储库中的对象。执行以下操作:
- 在 UFT One 的解决方案浏览器中,浏览并右键单击 Login 节点。
- 选择“将存储库与操作关联”,然后浏览到在上一步中创建的 Login.tsr 文件。在打开的消息框中单击“是”。
对象存储库现在与 Login 操作关联,并在解决方案浏览器中显示为该操作的子元素。
-
保存测试。然后,继续为 MyFlight 应用程序的其他区域添加对象存储库。
有关详细信息,请参阅导航并识别。
导航并识别
使用 UFT One 的“导航并识别”功能可为 MyFlight 应用程序中的所有剩余页面创建共享对象存储库。通过“导航并识别”,可以同时识别应用程序的某个页面或部分中的所有对象。
执行以下操作:
-
在 MyFlight 应用程序中,登录以显示 Book Flight 页面。使用以下凭据登录:
- 用户名: john
- 密码: hp
-
新建共享对象存储库。在 UFT One 的“对象存储库管理器”窗口中,单击“新建”。
-
在“对象存储库管理器”窗口中继续操作,选择“对象”>“导航并识别”。
UFT One 和“对象存储库管理器”窗口均将隐藏,且会显示“导航并识别”工具栏。
-
单击“定义对象筛选”按钮 ,然后选择“默认对象类型”。
-
让 UFT One 识别 MyFlight 应用程序中 Book Flight 页面中的所有对象。执行以下操作:
- 在 MyFlight 应用程序中,单击 Book Flight 的标题栏以使其处于焦点状态。
- 在“导航并识别”工具栏中,单击识别。
注释: MyFlight 应用程序将闪烁,并且 UFT One 会将测试对象添加到新的对象存储库中。
在 UFT One 完成此过程时,请勿与 MyFlight 应用程序进行交互。
-
关闭“导航并识别”工具栏以返回到 UFT One 和“对象存储库管理器”窗口。
-
将对象存储库保存在之前创建的 TutorialObjectRepositories 目录中,并将其命名为 FlightFinder。
-
将新的 FlightFinder.tsr 对象存储库与测试流中的 FlightFinder 操作相关联。
有关更多详细信息,请参阅您在上面针对 Login 操作执行此关联的方式。
创建其他对象存储库
重复这些步骤,为剩余 MyFlight 应用程序页面创建其他对象存储库。随时保存测试,并根据关联的操作名称为每个对象存储库命名。
注释: 识别页面之前,请务必已选择项或输入文本,以确保所有按钮均已启用。这样可以确保 UFT One 能够正确识别这些按钮对象。
操作和存储库摘要
完成后,您的测试将拥有以下页面的对象存储库:
MyFlight 页面名称 | 对象存储库名称 | 关联操作 |
---|---|---|
Login | Login | Login |
Book Flight | FlightFinder | FlightFinder |
Select Flight | SelectFlight | SelectFlight |
Flight Details | FlightConfirmation | FlightConfirmation |
有关对象和对象存储库的更多信息
UFT One 会在运行测试时使用测试对象识别应用程序中的对象。
这些测试对象均基于 UFT One 的测试对象模型,而测试对象模型是对象类型或类的大型集合。每个测试对象类都包含:
- UFT One 可用于识别对象的可用描述属性的列表
- UFT One 可在相应对象上执行的相关操作的列表。
每个测试对象类都是较大测试对象层次结构的一部分。例如,agentName 测试对象是 Micro FocusMy Flight Sample 窗口对象的子对象。
运行时对象是应用程序中的实际对象。当您将对象添加到对象存储库中时,UFT One 将识别运行时对象的属性并将其转换为 UFT One 测试对象。
对象存储库建议
我们建议:
为应用程序的每个部分/页面创建单独的共享对象存储库。
这样可以确保在进行更新时轻松找到正确的对象。
将测试对象存储在共享存储库中,以在多个操作或测试中重用它们。
在所有关联的位置中使用对这些测试对象进行的更新。
仅包括用于测试目的所需的测试对象。
这样可使存储库较小且易于管理。
提供测试对象和存储库的逻辑名称。
这样可以确保其他人在创建或修改测试时能够轻松选择正确的对象。
后续步骤: