QTP自传之对象

时间:2023-12-06 11:59:44

对象在手,测试我有

大家别误会,这里说的对象可不是值指男女朋友,而是对被测控件的识别。经过昨天的录制,大家一定很奇怪为什么我可以做到精确的回放操作,这都要归功于对象,下面就隆重的介绍我在对象识别方面的强大功能。

初识对象库

打开上次录制的脚本record,点击【Resources】->【Object Repository】或按快捷键CTRL+R,打开对象库,如下图。

QTP自传之对象

简单介绍下各个按钮的作用。

Test Objects:测试中用到的对象都在这里。

Checkpoint and Output Object:检查点和输出对象,平时项目中基本上用不到。

1:添加对象,手动添加需要的测试对象到对象库,如何添加后面会详细说明。

2:更新对象,由于版本的更迭导致对象变更时使用,具体步骤和添加对象相同,需要注意的是所更新的对象必须是相同类型的,不能把WebEdit更新曾Link类型。

3:定义新对象,使用频率不高,一般都直接添加对象。

4:对象高亮,使对象库中的对象在网页或程序上闪烁,可以达到定位的效果,检查对象添加的是否正确。

5:定位对象,检查被测程序上的对象是否已在对象库中。

6:对象侦探,无需添加对象到对象库就可以查看对象的属性,实际工作中用的最多的功能。

7:关联对象库,加载封装好的对象库,使用较多。

Object Properties:显示和编辑对象的具体属性。

添加对象

对象库是我最重要的功能,没有对象库就没有我现在的地位,而添加对象又是对象库中最重要的功能呢。为了看到手动添加的效果,我们先删除现有对象库的对象,右键点击对象删除之。

点击添加对象图标(图中1的位置),会出现一个白色小手,将白色小手移动到需要添加的对象上,这里先添加用户名输入框,单击后如下图。

QTP自传之对象

单击后会出现一个对话框,同时显示要添加对象的父级对象,需注意,添加子对象时父级对象会自动添加至对象库。也就是说,如果我们选择WebEdit那么Page和Broswer也会一起添加至对象库;如果选择Page那么Broswer会被添加至对象库而WebEdit不会被添加,可以理解为向上兼容。好了,我们选择WebEdit进行添加,如下图。

QTP自传之对象

按相同步骤添加邮箱、密码和登录按钮,因为他们都在同一页面上,会被直接添加在父对象Page下。

QTP自传之对象

这时大家应该会发现,添加对象时我会自动为他们命名,当然名字也不是随便取的。以mail为例,注意看Object Properties部分,下面详细部分Description properties:type=text、name=mail、html tag=INPUT,看到这里有没有联想什么?还记得我们自己写的网页代码么?

<input type="text" name="mail"  class="user_input">

一目了然,这里的属性其实就是HTML标签的属性。如果觉得自动生成的名字看着不舒服,直接修改Object Properties中Name值就可以。将mail改为邮箱,password改为密码,username改为用户名,修改后可以看到脚本代码也自动更新了。  

QTP自传之对象

我之所以能够识别各种各样的对象,是因为已经有了这些对象的身份证明,他就是Object Identification。

点击【Tools】->【Object Identification】,列出了可以识别的所有web对象,可以在注册表HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Test Objects 查看,注册表里没有的Object Identification也不会有。Object Identification的配置一般不需要更改,了解即可。

QTP自传之对象

对象侦探

自动化对象控件纷繁杂乱,工作中经常需要了解对象的内部属性,直接看源码费时费力,考虑到这点,我特地提供了对象侦探服务,可以方便的查看对象的属性。可以通过三种方式打开:

1.点击【Tools】->【Object Spy】

2.直接点击Spy图标

QTP自传之对象

3.在对象库中点击Spy图标 (第一幅图片6位置)

具体如图所示

QTP自传之对象

好了,拿用户名输入框练练手,Properties显示了相关的属性。

QTP自传之对象

Operations是该对象可以使用的方法,在以后的对象库编程中会用到。

QTP自传之对象

捕获对象时,若需要鼠标或键盘进行操作,按下CTRL+ALT可以进行输入,然后再按CTRL就可以捕获了。

关联对象库

顾名思义,可以将对象库封装为外部文件,成为公共对象库,供不同脚本使用。实现步骤:

1.导出现有对象库。CTRL+R打开对象库,点击【File】->【Export Local Objects】,选择保存文件夹。

QTP自传之对象

2.为了突出效果,先删除现有对象库中的对象,然后点击Object Spy右边的图标。

QTP自传之对象

3.点击【+】选择要关联的对象文件,将Action1移入Associated Actions,点击【OK】。

QTP自传之对象

4.对象已被添加至Test Objects且是灰色不可编辑,若想编辑可以右键点击对象选择Copy To Local。

QTP自传之对象

听说十遍,不如操作一遍,web对象五花八门,行踪飘忽,只有通过大量的实际操作才能逐渐摸透其中的原理。

下一次,将为大家介绍web相关的常用的对象,现在,洗洗睡了。