1.6.3.3 对象封装属性的真正源头
在介绍Spy的那个章节中,我们就已经介绍过Identification Properties下会显示很多对象的封装属性,如图1-165所示。
图1-165
如图1-165所示,WebEdit控件的封装属性数量还是相当可观的,不光图中显示的这些,还可以通过右侧拖动滚动条看到更多的属性。这些属性都是可以通过GetROProperty方法进行访问的,这个在上一节中刚讲过,这里就略过了。在这里主要是介绍一个特殊的属性,它就是Class Name(见图1-165中第一个属性),这个属性在介绍Spy的那节中就已经介绍过。刚才说过了,凡是封装属性的值都可以通过GetROProperty方法去获得,那么,现在执行下面的这段代码,看看是否能够获得Class Name的值,预期结果应该是“WebEdit”(见图1-165):
msgbox Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").GetROProperty("Class Name") |
待QTP执行完这段代码以后,我们一起来看执行后的结果,如图1-166所示。
图1-166
为什么获得的值是个空值?应该是“WebEdit”。图1-165中都是这么显示的。其实是因为QTP封装此属性的名称不是Class Name,而是micClass,不信?那我们执行下面这段代码再试试看,是不是会获取到“WebEdit”这个值:
msgbox Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").GetROProperty ("micClass") |
QTP开始执行,结果如图1-167所示。
图1-167
如图1-167所示,结果已经看到了,就是想要的预期结果。此时,读者一定会问,为什么是micClass,而不是Class Name呢?为什么作者就知道是micClass呢?连Spy里显示的都是Class Name啊!别急,答案很快就会揭晓!