11.5 QTP对象识别
本节将讲解QTP识别对象的原理。
1.两种测试对象和仓库对象
有两种对象,一个是TestObject对象,另一个是RunTime Object对象。TestObject对象是指对象库中的被测试中的控件对象,而RunTime Object是指被测试系统中的实际对象。
在库文件中定义仓库对象,其中存有实际对象的特征属性的值。在脚本回放时,QTP会根据脚本中的对象名字,在对象库里找到对应的仓库对象。然后根据仓库对象的特征属性描述,在被测试软件中搜索到相匹配的实际对象,***就可以对实际对象进行操作了。
仓库对象一般在录制/编写脚本时加入仓库文件,它不仅可以在录制编写时进行修改,也可以在运行过程中进行动态修改,以匹配实际对象。
以下是几个常用的函数。
GetTOProperty():取得仓库对象的某个属性的值。
GetTOProperties():取得仓库对象的所有属性的值。
SetTOProperty():设置仓库对象的某个属性的值。
GetROProperty():取得实际对象的某个属性的值
例如,一个页面中有很多待检查的记录,每条记录右边都有一个"Check"按钮,用来检查各条记录。记录个数不定,所以"Check"按钮的个数也就不定,一个Edit显示记录个数。要对每条记录进行检查,也就是要单击每个"Check"按钮。由于"Check"按钮个数不定,录制后的脚本回放中会出现问题。可以通过录制一个按钮对象,对它设有两个特征属性 label=OK和index=0,