QTP对象库的管理与合并

发表于:2011-12-15来源:未知作者:娃娃点击数: 标签:qtp
对于使用QTP做为自动化测试工具的测试项目来说,其对象库的管理在整个自动化测试过程中,占有非常重要的地位。特别是对于一个大型的应用系统,其界面的对象多而杂,一个统一、有序的对象仓库非常有利于脚本的快速开发,以及团队成员间的协作。 然而,在

对于使用QTP做为自动化测试工具测试项目来说,其对象库的管理在整个自动化测试过程中,占有非常重要的地位。特别是对于一个大型的应用系统,其界面的对象多而杂,一个统一、有序的对象仓库非常有利于脚本的快速开发,以及团队成员间的协作。

 然而,在实际使用中,虽然可以改变对象库中对象节点添加时的位置(如Tools->Options->Web->Page/Frame Options),但是在多人操作过程中,难免会出现偏离原始设计思路的地方。这个就需要对象库管理员进行修改纠正和修改。

在Object Repository中,可以修改对象节点的名称,维护对象的属性,保存对象库,但并没有移动对象节点的功能。还好QTP提供了一个Reporsitories Merge Utility,可以实现对象库的合并功能。

下面我们就来尝试使用Reporsitories Merge Utility来改变对象节点的位置。

首先,复制三个源对象库,一个作为目标对象库,两个作为源对象库。

 然后,打开Reporsitories Merge Utility,如图

选择好对象库所在的路径后,点击红框中的按钮,进入手动合并对象库页面。



 从左边的对象树上选择要移动的节点,目标的节点则默认是根节点。如果要移动到其他的节点下面,还需要在右边对象树上选择该节点才行。最后是点按钮Add top Level或者Add child,就将对象节点连同他的子节点一同添加到目标对象树上。也就是实现了我们的目标,把对象节点移位。

好了,检查一下你需要的所有的对象是否都已经成功添加。

注意一点,当遇到对象的descrīption完全相同的情况,即使节点的名字不同,QTP也会当作是相同的节点,不进行多次添加,即使在源对象树上是两个节点,添加到目标对象树上的仍然是一个节点。

对于两边都有的父节点,可以对其进行Merge操作,合并子节点。操作同增加节点,不同的是要选中左右两边名字相同的节点,这样merge按钮才会出来。

在合并的过程中,如果遇到对象的描述完全相同,会自动跳出Resolve Conflict页面,来帮助解决冲突。


 这里提供了4种选项,但是好像不管选择哪一种,QTP都不会把它认为描述相同的对象添加两次(这些对象都是在Object Repository中Add的)。

个人感觉,Reporsitories Merge Utility针对于有多个节点相同的两个对象库,进行合并操作的时候不是很好用。我在做测试的时候,有两个节点没有自动添加进来,需要手动添加。而且出现了上述的对象描述相同但名字不同的情况,也是没有办法添加进来的。不过对于其他情况,还是可以做到添加新对象到统一的对象库中,把多人开发的结果集中到一起管理。

 

原文转自:http://www.ltesting.net