QTP对象识别原理 zz
上一篇 /
下一篇 2012-01-08 00:42:51
/ 个人分类:QTP
一、QTP识别对象的原理
QTP里的对象有两个概念,一个是Test Object(简称TO),一个是Runtime Object(简称RO)。
TO就是是仓库文件里定义的仓库对象,RO是被测试软件的实际对象。
二、举个例子:
1、 打开qtp后,在ie浏览器上打开www.baidu.com(顺序不能颠倒)
2、 进入qtp,点击Tools>Object spy,如图:
3、 点击手的标志,弹出了百度的页面,在文本框中点击鼠标,如图:
Run-time Object展现的是运行时本地测试对象的属性或方法。在脚本中可 以通过Object属性来访问和获取Run-time Object的属性或执行其方法。对于Test Object则可通过GetTOProperty 和 SetTOProperty 来获取或设置测试对象的属性值,也可以通过GetROProperty访问测试对象当前的属性值三、qtp是如何来唯一标识某个对象或者说对象的属性值在哪里设置?
对于每个测试对象类,QTP都有一个始终要记住的强制属性的列表,在录制对象时,QTP始终记住这些默认的属性值,然后再检查“视图”页面上其余的对象、对话框或其他父对象,以检查该描述是否足以唯一标识该对象,如果不足以进行唯一标识,QTP将向该描述中逐渐添加辅助属性,直到经过编译成为唯一的描述为止,如果没有可用的辅助属性,或者那些可用的辅助属性仍不足够创建一个唯一的描述,QTP将添加一个特殊的顺序标识符(例如页面上或源代码中对象的位置)以创建唯一的描述。在回放过程中,QTP会搜索与录制时记住的测试对象的描述完全匹配的运行时对象,它需要找到与录制时用于创建唯一描述的强制属性和任何辅助属性完全匹配的对象,只要应用程序中的对象没有较大的改变,录制过程中记住的描述几乎总是足以使QTP唯一标识出该对象。选择菜单Tools > Object Spy添加属性来标识对象,如图:
回放过程中,运行时系统的对象称作RO(Run-time Object)。QTP以对象库中保存对象的属性及属性值为标准,去匹配运行时系统的对象,如果匹配成功则正确识别对象并执行相应操作,否则会有报错。解决这个问题,就是需要在录制之前配置好Object Identification中各种对象的识别属性,做到能够唯一标识对象的目标。这样就会减少脚本出错的几率。
在对象库中也可以增加(加号)、删除(叉号)、修改属性及属性值。这是对象库强大的一处体现。
四、和TO、RO相关的几个函数有:
GetTOProperty():取得仓库对象的某个属性的值
GetTOProperties():取得仓库对象的所有属性的值
SetTOProperty():设置仓库对象的某个属性的值
GetROProperty():取得实际对象的某个属性的值
(注:这几个函数访问的都是对象的封装属性,不是对象的自身属性)
收藏
举报
TAG: