首先,我们运行regedit来打开注册表,然后进入到以下位置:
HKEY_CURRENT_USER -> software -> Mercury Interactive -> QuickTest Professional -> MicTest -> Attributes |
当展开Attributes这个目录时,会看到很多熟悉的属性。没错!这里就是QTP所有封装属性的集结地,如图1-168所示。
图1-168
在这个目录下可以找到micClass属性(见图1-169),而Class Name属性是没有的,所以刚才打印出来的值是一个空值就是这个原因。
图1-169
另外还有很多QTP隐藏的封装属性,并且这其中一部分属性在QTP的所有帮助文档中都没有提到过。在这里,作者就随便找一个Spy中没有的封装属性来试试,以source_index为例,来看下面这个脚本:
'获取封装属性source_index的属性值 index = Browser("百度一下,你就知道")._ Page("百度一下,你就知道").WebEdit("wd").GetROProperty("source_index") '在这里对WebEdit控件使用了描述性编程就是为了证明source_index是个隐藏属性,Spy中是没有的,关于描述性编程,读者先不用关心,后续章节中会详细介绍 Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("source_index:=" & index).Set "QTP自动化测试技术领航" |
执行上面这个脚本后,就可以看到百度搜索框成功输入了“QTP自动化测试技术领航”。它的原理主要是通过source_index获取对象的索引,并通过描述此属性成功对此对象进行控制。
通过这个实例,我们终于明白了对象封装属性的真正源头到底在哪里!在这个目录下不光可以看到一些平时所常用的一些隐藏属性,例如,creationtime、index等,还有很多从来没有看到过的隐藏属性,有兴趣的读者可以每个都去尝试一下。
注意:每个属性都是有对应的对象的,比如creationtime属性只能用在Browser对象上,这点需要读者认知的。
本文选自《51Testing软件测试作品系列》之九——《精通QTP——自动化测试技术领航》。
本站经人民邮电出版社和作者的授权,近期将进行部分章节的独家连载,敬请期待!
版权声明:51Testing软件测试网获人民邮电出版社和作者授权独家连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关阅读: