本地和共享对象存储库 QTP/UFT
什么是对象存储库? QTP?
对象库 是测试对象和信息的集合,可被识别。 QTP 感谢您为此付出的努力。当用户录制测试时,默认情况下会捕获对象及其属性。
由于自动化的每个步骤都必须指向一个存储的对象,因此存储库决定了应用程序更改后脚本是否继续运行。首先要了解对象是如何到达存储库的。
物体识别是如何工作的? QTP?
- QTP 使用类似“人类”的技术 物体识别
- 中 Record 时间, QTP 尝试了解对执行操作的 GUI 对象的属性。
- 在运行时, UFT 将存储的对象属性与屏幕上可见对象的实际属性进行比较,即可唯一标识一个对象,而无需考虑其在屏幕上的位置。
- 存储的对象及其属性被称为 测试对象
- 在运行时,被测应用程序中实际可用的对象被称为 运行时对象
- 这是 快速测试 “测试对象模型”
- 测试对象的信息存储在对象库中。
- 插件通过预先告知 QuickTest 要记录的对象的特性来提供帮助,从而减少 QuickTest 学习其属性所需的时间。
通过以下视频中的示例学习对象识别
点击 开始 如果视频无法访问
对象存储库的类型
对象存储库有两种类型 QTP
- 本地对象存储库
- 共享库
两者仅在一点上有所不同:对象的归属权。本地仓库属于单个操作,而共享仓库是一个独立的文件,任何操作都可以借用它。
本地对象存储库
- 本地对象存储库是默认的对象存储库
- 它特定于动作,并且只能用于特定动作
- 当应用程序不随时间动态变化时,本地对象存储库是更佳选择。
- 本地对象库无法重用
- 您可以在本地对象库中执行许多操作,例如:
- 突出显示被测应用程序存储库中存储的对象
- 检查 AUT 中的特定对象是否存储在对象存储库中
- 剪切、复制、粘贴、修改和删除对象
- 如果您不小心修改了属性的值,可以使用更新功能从应用程序中更新其描述。
以下视频演示了如何使用本地对象存储库。
共享对象存储库:创建、关联、编辑
- 当应用程序是动态的且对象描述频繁更改时,全局对象存储库或共享对象存储库是更佳选择。
- 在共享对象存储库和本地对象存储库中,共享对象存储库在自动化项目中更为常用。
- 但是,与本地对象存储库相比,它存在维护和管理方面的开销。
要创建和使用共享对象存储库,您需要执行三个主要步骤
- 创建共享对象存储库
- 关联共享对象存储库
- 编辑共享对象存储库
让我们逐一看一下
步骤 1)创建共享对象存储库
- 默认情况下,所有存储库均为本地存储库。要创建共享对象存储库,请在“对象存储库”对话框中进行操作。 Box,点击 文件 > 导出本地对象
- 存储库文件具有扩展名。 .tsr取一个合适的名字,比如“guru99”,然后保存。
- 共享存储库文件现已创建
步骤 2)关联共享对象存储库
- 下一步是将存储库与你的测试关联起来,这样你就可以使用它了。
- 要将存储库与测试关联,请单击 资源 > 关联存储库 (已标记) 关联存储库 现在 UFT (一个版本)
- 您可以选择与测试中可用的操作关联的存储库。
- 现在您可以使用此共享存储库来开发您的测试。
步骤 3)编辑共享对象存储库
- 您可以使用对象库管理器来编辑共享库。
- 选择 资源 > 对象库管理器打开我们创建的对象库“guru99”。
- 默认情况下,存储库以只读模式打开。要启用编辑功能,请单击 文件 > 启用编辑
- 启用编辑功能后,您可以执行所有操作,例如剪切、复制、粘贴和重命名对象,这些操作在对象库中也可以执行。
- 使用对象库管理器,您还可以比较两个对象库。 QTP 报告统计了两个存储库中哪些内容是独有的,哪些内容是共同的。
- 您可以使用对象库合并工具将两个对象库合并为一个。
以下视频将详细介绍共享存储库的工作流程。
本地对象存储库和共享对象存储库的区别
大多数团队最终都会同时运行这两种类型,因此在决定新对象属于哪个位置之前,在一个地方看到权衡取舍会很有帮助。
| 标准 | 本地对象存储库 | 共享库 |
|---|---|---|
| 可用性 | 每次操作都会自动创建 | 必须先创建,然后将其与某个操作关联。 |
| 适用范围 | 每个操作对应一个存储库;仅供该操作使用。 | 一个文件可供多个测试中的多个操作使用 |
| 文件格式 | 已保存 对象存储库.bdb 在操作文件夹内 | 已保存为外部文件 .tsr 文件 |
| 编辑 | 可直接在对象库窗口中编辑 | 默认情况下为只读;可通过对象库管理器进行编辑。 |
| 重用 | 不可重复使用 | 专为重用和版本控制而设计 |
| 维护 | 每次操作都必须修复已更改的属性 | 对于每个关联的测试,更改后的属性只会固定一次。 |
| 最适合 | 小型、稳定的应用程序和单动作学习测试 | 涉及多名自动化工程师的大型或动态应用 |
简而言之,本地代码库启动速度更快,而共享代码库维护成本更低。学习测试和一次性检查可以保留在本地;任何其他人会运行的代码都应该放在共享代码库中。 .tsr 文件中。
如何直接向共享对象库添加对象
导出本地对象只是实现目标的一种途径 .tsr 文件。如果您已经知道套件需要哪些控件,那么先构建共享存储库,完全不进行录制会更快。
- 选择 资源 > 对象库管理器 打开管理器窗口。
- 选择 文件>新建 创建一个空的共享存储库,或打开一个现有的共享存储库。 .tsr 文件并选择 文件 > 启用编辑.
- 使用 添加对象 可以选择指向被测应用程序中要学习的控件,然后确认选择。
- 对套件涉及的每个控件重复此操作,并随时将对象重命名为易于理解的名称。
- 选择 文件>保存 并将该文件与测试文件一起存储在源代码控制文件夹中。
- 回到测试中,选择 资源 > 关联存储库 并将该文件附加到每个需要该文件的操作中。
两种习惯使这种方法卓有成效。首先,根据对象的业务角色而非其描述来命名对象,因为描述比角色更容易更改。其次,为每个应用程序屏幕或模块维护一个代码库,而不是使用一个巨大的文件,因为较小的代码库加载速度更快,合并冲突也更少。
