使用QTP录制一些脚本再回放,这不难,难的是一个测试团队共同开发脚本,并能不断的完善脚本,建立一个结构化的自动测试脚本体系。这篇文章重点讨论的是,如何管理QTP的对象仓库,以便能让对象仓库易于维护、管理。
若是只是简单的录制、回放脚本,可能感受不到对象仓库的存在。可是要作到QTP脚本的结构化管理,就必须对QTP的对象仓库进行严格的管理。
在实际工做中咱们发现,QTP脚本作好后毫不是一成不变的,而是随着需求和页面的变化,须要不断修改的。若是每次修改脚本的时候,都从新录制脚本,成本极高,因此最有效的方法是,先修改对象仓库,而后修改脚本,以适应新的系统。
若是对象仓库里的管理比较混乱的话,修改脚本时就会遭受地狱般的痛苦,好比n多对象全堆在一块儿根本理不出头绪,对象的命名不知所云,找不到本身须要的对象等等。下面咱们讲一下如何管理对象仓库,避免这些问题。
先介绍一下对象仓库中的对象层次,主要分为3个层次
一、Browser浏览器
二、Page页面
三、页面中的各类对象,好比Link、Button
Browser对应的是已经打开的IE窗口对象,Page对应的是不一样的网页,好比登陆首页是一个Page,登陆成功后跳转到个人淘宝页面,这就是另外一个Page。而页面中的各类对象就比较好理解了,图片、按钮、连接都是对象。
了解了对象层次,咱们再讲一下命名。若是QTP在录制过程当中自动记录对象,命名是很是乱的,缺少逻辑性,常常看到一个Browser下面有n多“淘宝网_1”、“淘宝网_2”这样的Page,这对咱们之后的管理很是不利。与其修改这些命名,咱们不如用一种思路更清晰的方式,手动添加对象。
QTP中有一个工具实现了对象仓库的管理,Object Repository Manager,咱们用它来添加对象。操做很简单,直接点击toolbar中的Add Object按钮,而后在web上点击你须要添加的对象便可,添加事后再修更名称。更新对象也比较简单,先选中须要更新的对象,而后点击Update from Application便可。
这项工做其实能够在系统页面出来之后就开始作,咱们一边进行手工测试,一边把对象添加起来,为后面的脚本开发作准备。这时暂时不制做脚本。
总结一下,对象仓库的管理要知足如下几个原则:
一、每一个Browser下的Page不要太多,最好不要超过5个,即便咱们的系统都在同一个IE窗口下(没有弹出新IE),咱们也能够分几个Browser管理,把业务上关联较强的几个Page放在一个Browser下;
二、每一个对象都按照所表明的业务属性命名,最好用中文,不要出现一些难理解的字符,好比abc这样的。
三、尽可能避免在一个tsr文件中堆放过多的对象,最好根据业务,把对象分为几个tsr文件保存。这里没有统一标准,以每一个tsr文件结构清晰为宜。
如今咱们完成了对象仓库的整理,好,能够开始制做脚本了。但是问题来了,录制脚本的时候,QTP能不能自动和这些对象对应上呢?QTP会不会又自动添加一堆对象进来呢?别担忧,不会出现这个问题,由于咱们将进行一场脚本编写的革命:放弃“录制脚本”这种传统的脚本编写方法,彻底手工编写脚本。web