对于使用QTP做为自动化测试工具的测试项目来说,其对象库的管理在整个自动化测试过程中,占有非常重要的地位。特别是对于一个大型的应用系统,其界面的对象多而杂,一个统一、有序的对象仓库非常有利于脚本的快速开发,以及团队成员间的协作。 在Object Repository中,可以修改对象节点的名称,维护对象的属性,保存对象库,但并没有移动对象节点的功能。还好QTP提供了一个Reporsitories Merge Utility,可以实现对象库的合并功能。 下面我们就来尝试使用Reporsitories Merge Utility来改变对象节点的位置。
首先,复制三个源对象库,一个作为目标对象库,两个作为源对象库。
选择好对象库所在的路径后,点击红框中的按钮,进入手动合并对象库页面。
好了,检查一下你需要的所有的对象是否都已经成功添加。 注意一点,当遇到对象的descrīption完全相同的情况,即使节点的名字不同,QTP也会当作是相同的节点,不进行多次添加,即使在源对象树上是两个节点,添加到目标对象树上的仍然是一个节点。 对于两边都有的父节点,可以对其进行Merge操作,合并子节点。操作同增加节点,不同的是要选中左右两边名字相同的节点,这样merge按钮才会出来。 在合并的过程中,如果遇到对象的描述完全相同,会自动跳出Resolve Conflict页面,来帮助解决冲突。
个人感觉,Reporsitories Merge Utility针对于有多个节点相同的两个对象库,进行合并操作的时候不是很好用。我在做测试的时候,有两个节点没有自动添加进来,需要手动添加。而且出现了上述的对象描述相同但名字不同的情况,也是没有办法添加进来的。不过对于其他情况,还是可以做到添加新对象到统一的对象库中,把多人开发的结果集中到一起管理。 |