做一个聪明的勤劳人,悠悠的。。。 温馨提醒:少喝奶茶;不吃刚烤的面包;远离充电电源;白天多喝水晚上少喝; 一天不喝多于两杯咖啡,少吃油多的食物;最佳睡眠为晚上十点至早上六点; 晚上五点后少吃大餐’ 每天喝酒不多过一杯; 不用冷水服胶囊; 睡前半小时服药忌立刻躺下; 睡眠不足八小时人会变笨; 有午睡的习惯人不易老; 手机电池剩一格时不要打电话,剩一格时辐射是平时的一千倍, 还要记得用左耳接电话,用右耳会直接伤害到大脑。

QTP识别和操作对象的原理[转]

上一篇 / 下一篇  2007-09-04 11:07:31 / 个人分类:QTP

QTP为用户提供了两种操作对象的接口,一种就是对象的封装接口,另一种是对象的自身接口。`f?8.? 
    对象的自身接口是对象控件本身的接口,只要做过软件开发,使用过控件的人应该很清楚。
]U2Pp?`C] 
    对象的封装接口是QTP为对象封装的另一层接口,它是QTP通过调用对象的自身接口来实现的。
3Ⅹ v詽,^  霯v苍 
    两种接口的脚本书写格式的差别在于:
y岂>儡#S? 
    自身接口需要在对象名后面加object再加属性名或方法名,
醐蜛溤SO 
    封装接口就不用在对象名后面加object。
ed浐鲤?? 
?7 萙幄 
    比如操作JavaEdit对象,通过QTP封装的封装接口,脚本如下:
莏Ps?鼽? 
    设置JavaEdit的内容:
.Cv+? 頪 
     JavaDialog("Add NE").JavaEdit("NE Name").Set "NE1"
詖Z?腟 
    读取JavaEdit的内容:
?W?lt;$祃 
     msgbox JavaDialog("Add NE").JavaEdit("NE Name").GetROProperty("value")
'鮄戧鱓図 
?*v估g8 
    如果通过JavaEdit的自身接口,脚本如下:
愉I[排^Os? 
    设置JavaEdit的内容:
绣梻騣鋾牴 
    JavaDialog("Add NE").JavaEdit("NE Name").object.setText("NE1")
2?)eJx備P 
    读取JavaEdit的内容:
鈆)脿'4歵 
    Msgbox JavaDialog("Add NE").JavaEdit("NE Name").object.getText()
忁Mw(Bwq? 
趈麍NGMD%' 
    QTP执行JavaEdit().Set语句时,是通过执行JavaEdit().object.setText()来实现的。
黊庸??宝? 
    QTP执行JavaEdit().GetROProperty("value"),是通过执行JavaEdit().object.getText()来实现的。
l?璠d&? 
    JavaEdit对象的封装接口Set()和GetROProperty("value"),是QTP封装JavaEdit对象的自身接口setText()和getText()而得来的。
v韪z懒 
剷2版?谺 
    对象的封装接口是QTP使用的缺省接口,我们录制出来的脚本都是使用封装接口,大家用的也都是封装接口。
驨匤#箧i? 
    但是封装接口不如自身接口丰富,因为QTP只是封装了部分常用的自身接口嘛。
D塲=粗?? 
    所以我们在需要时,可以绕过封装接口,直接调用对象的自身接口。
棶浲獘 挶 
    不过有些自身接口不够稳定,在实践中偶尔会出现问题,但是概率很少。
齥2謢?lt;?2 
   封装接口有相应功能的话,就尽量用封装接口吧!
痪???U 
h?e?[鮅?
  
Zo}V>夣憧P 
    理解了封装接口和自身接口的原理,我们就可以更加灵活的操作对象了。
銒L?捊_ 
U犐7俹"⿺ 
    但是我们怎么知道对象都有哪些封装接口和自身接口呢?
O?幜巜畴? 
    其实很简单,用对象查看器(Object Spy)查看对象,在查看窗口里有列出这些接口,包括属性和方法。
T蝐轩%柮虹 
    窗口中间有选择栏让你选择Run-time Object或者Test Object,
隖P璚:wLC? 
    当你选择Run-time Object时,它显示的就是对象的自身接口(自身的属性和方法)
擋蕮 & 
    当你选择Test Object时,它显示的就是对象的封装接口(封装的属性和方法)
)烏乖.S? 
B?嗻摘?? 
    明白了这些,你还等什么呢?快拿起对象查看器,看看对象都有哪些封装接口和自身接口,肆意的操作它,玩弄它吧!
臩艁r坊B? 
]k義o.q窲l 
    比如执行
?c6?j?u 
    JavaDialog("Add NE").JavaEdit("NE Name").object.setVisible(false)
5W湚&$]  
    你的JavaEdit对象就当场消失不见了!!!

http://bbs.51testing.com/thread-13554-1-1.html

TAG: 测试工具 QTP

 

评分:0

我来说两句

Open Toolbar