关闭

对象库的管理与合并

发表于:2007-4-17 14:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ccc11yyy    来源:51testing博客

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

此文来源于51testing博客,转载请注明出处
原始链接:
http://blog.51testing.com/?8181/action_viewspace_itemid_2890.html

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号