——Windows标准控件与QTP Windows对象的对应关系

注:本文为以前博客的原创作品,本人拥有完全的版权,未经本人书面同意,不得用于商业用途,否则本人保留追究相关责任的权利。转载可以,但需要标明出处。。
作者:文青山
联系方式:欢迎发邮件到wolaizhinidexin@163.com,进行探讨和沟通
另注:请大家谅解创作的艰辛和尊重我的劳动,上面的申明如有得罪之处,还请谅解。

 

翻开QTP帮助文档中Standard Windows对象,我们可以看到一下面这个列表:

 

让我们来看看其对象的具体样子:
Dialog对象:
 

从直观的第一视觉来说2应该是Window对象,为什么2也是Dialog对象呢?因为Class Name属性的值是Dialog,并且native class的属性是#32770。而Window对象Class Name属性的值是Window,native Class属性并不能决定其QTP对象的类型。这里需要引起注意,跟Web相比,在Web对象中native Class属性才是对象不同的关键属性,而Windows标准控件却是Class Name属性,但似乎这个Dialog对象例外,至于原因为何,期望谁能帮我解答一下。于是,遥想一下,在使用描述性编程时如果我们将Dialog对象当成了Window对象来使用,会不会出现错误呢?
我做了一下试验,试验代码如下:
Dim iSWindow,iSLogin
Dim title
Dim url
url="D:\InstallQTP\samples\flight\app\flight4b.exe"
title="Login"
SystemUtil.Run url ''启动待测试软件           返回
print Dialog("Login").Exist'打印是否存在Dialog对象
iSWindow=Window("nativeclass:=#32770").Exist(4)''打印将对象为Window进行描述,判断对象是否存在
If iSWindow Then
 iSLogin= Window("nativeclass:=#32770").GetROProperty("regexpwndtitle") ''获得这个对象的regexpwndtitle值,用来查看是否与期望的一致
 If iSLogin=title Then
  print "可以使用Windows来代替Dialog"
 else
  print "获得的标准为:"&iSLogin
 End If
else
 print "不能使用Window来代替Dialog"
End If

得到的结果如下:
True
可以使用Windows来代替Dialog
为什么可以这样呢?希望有人能够回答一下,我不清楚他们可以互换的原因。但你在描述性编程的时候,看来只要传递对了相关的属性,这里是使用Window还是Dialog看来是无关紧要的。不过,我还是建议是Dialog就用Dialog,是Window还是使用Window,毕竞QTP这样处理,那他肯定是有原因的(虽然我不知道这个原因),存在就是最好的借口。返回
Static对象:


 返回
WinButton对象:


 返回
WinCalendar对象:


 
WinCheckBox对象:


 返回
WinComboBox对象:


 
WinEdit(或WinEditor)对象:


 返回
WinList对象:
 
WinListView对象:


 返回
WinMenu对象:


似乎不可获取,只能录制取得这个对象
 
WinRadioButton对象:


 返回
WinTreeView对象:
 

WinStatuBar对象:


 返回
WinToolBar对象:
 
WinScrollBar对象:


如word中的滚动条。
 
WinSpin、WinTab对象的实例,实在是难找,估计用得也不多,在此就剩略了。
WinObject对象,当QTP认不到这个对象的时候就以WinObject对象来代替。返回

总结:本文举了一些Windows标准控件与QTP Windows对象对应的实例,借此以期能加强对于非Web状态上的对的认识。非Web状态上的对象识别,果真要比Web复杂得多,如此短文耗费了我两个晚上的时间。


2011-11-01晚
文青山

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那美那美

失业了,写文章求吃碗炒面

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值