QTP提供的两种对象接口
来源:互联网 发布:新手学淘宝开店视频 编辑:程序博客网 时间:2024/06/06 04:45
QTP为用户提供了两种操作对象的接口,一种就是对象的封装接口,另一种是对象的自身接口。
对象的自身接口是对象控件本身的接口,只要做过软件开发,使用过控件的人应该很清楚。
对象的封装接口是QTP为对象封装的另一层接口,它是QTP通过调用对象的自身接口来实现的。
两种接口的脚本书写格式的差别在于:
自身接口需要在对象名后面加object再加属性名或方法名,
封装接口就不用在对象名后面加object。
具体格式如下:
对实际对象的操作:
对象.object.自身属性
对象.object.自身方法()
对象.GetROProperty("封装属性")
对象.封装方法()
对仓库对象的操作:
对象.GetTOProperty("封装属性")
对象.GetTOProperties() ’获取所有封装属性的值
对象.SetTOProperty("封装属性", "封装属性值")
比如操作JavaEdit对象,通过QTP封装的封装接口,脚本如下:
设置JavaEdit的内容:
JavaDialog("Add NE").JavaEdit("NE Name").Set "NE1"
读取JavaEdit的内容:
msgbox JavaDialog("Add NE").JavaEdit("NE Name").GetROProperty("value")
如果通过JavaEdit的自身接口,脚本如下:
设置JavaEdit的内容:
JavaDialog("Add NE").JavaEdit("NE Name").object.setText("NE1")
读取JavaEdit的内容:
Msgbox JavaDialog("Add NE").JavaEdit("NE Name").object.getText()
QTP执行JavaEdit().Set语句时,是通过执行JavaEdit().object.setText()来实现的。
QTP执行JavaEdit().GetROProperty("value"),是通过执行JavaEdit().object.getText()来实现的。
JavaEdit对象的封装接口Set()和GetROProperty("value"),是QTP封装JavaEdit对象的自身接口setText()和getText()而得来的。
对象的封装接口是QTP使用的缺省接口,我们录制出来的脚本都是使用封装接口,大家用的也都是封装接口。
但是封装接口不如自身接口丰富,因为QTP只是封装了部分常用的自身接口嘛。
所以我们在需要时,可以绕过封装接口,直接调用对象的自身接口。
不过有些自身接口不够稳定,在实践中偶尔会出现问题,但是概率很少。
封装接口有相应功能的话,就尽量用封装接口吧!
理解了封装接口和自身接口的原理,我们就可以更加灵活的操作对象了。
但是我们怎么知道对象都有哪些封装接口和自身接口呢?
其实很简单,用对象查看器(Object Spy)查看对象,在查看窗口里有列出这些接口,包括属性和方法。
窗口中间有选择栏让你选择Native Properties和Identification Properties或者Native Operations 和Test Object Operations (QTP10.0是这样)
当选择Native Properties和Native Operations,它显示的就是对象的自身接口(自身的属性和方法)
当选择Identification Properties和Test Object Operations时,它显示的就是对象的封装接口(封装的属性和方法)
- QTP提供的两种对象接口
- QTP两种操作对象的接口讲解
- QTP检查链接对象的两种方法
- QTP检查链接对象的两种方法
- QTP对象接口
- Automation Object Model-QTP提供的编程接口实现对QTP操作
- windows对象提供的两种定时器的应用,时钟
- asp.net两种方式的短信接口使用(提供接口的都是收费的)
- Code Fragment-提供相对安全和相对粗暴的两种接口胜过单一的接口
- QTP回放的两种模式
- QTP的Description对象
- Adobe为QTP提供的Flex4插件
- QTP中创建数组的两种常见方式
- QTP中,两种获取剪贴板内容的方法
- QTP中如何取文本框的值 两种方法
- 工厂模式定义:提供创建对象的接口
- 工厂模式定义:提供创建对象的接口
- 使用hiredis提供的接口访问redis中的ZSeT对象
- Linux之路,起步虽晚,迈步才会成功(2013.08.09)
- hdu 2203
- android adb启动失败问题 adb server is out of date. killing... ADB server didn't ACK * failed to start daem
- 关于java 中的定时器
- Android.mk中添加宏定义
- QTP提供的两种对象接口
- 【discuzX2】/source/function/function_core.php通用核心函数库文件分析
- 产生冠军(hdu2094拓扑排序)
- javascript-array函数实例
- jQuery最佳实践
- ARM Device Tree起源
- perl closure
- Java7 部分新特性备忘录
- php如何判断文件是否存在,包括本地和远程文件