一、封装对象模型
1、QTP封装对象:Test Objects(TO)测试对象和Runtime Objects(RO)运行时对象
TO和RO区别:TO是被添加到对象库中的对象,RO是被测试软件在运行时实际所运行的对象
QTP识别对象通常就是先在对象库中添加测试对象,这些对象都存有一些特征属性的值,然后在被测软件运行的时候。QTP会根据脚本里的对象名字,在对象库里寻找相对应的测试对象,,并根据这些对象的特征属性描述,在被测试软件里搜索并找到相匹配的世纪正在运行的对象
2、GetToProperty()
含义:获取对象库中某个对象的某个属性的值
公式:ReturnValue=对象.GetToProperty(“封装属性名”)
例子:ValueOfTo=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("新闻").GetToProperty("text")
MsgBox ValueOfTo
分析:获得Link对象在对象库中记录的属性“text”的值,并返回给变量ValueOfTo,最后以对话框形式弹出结果
3、GetTOProperties()
含义:获取对象库中某个对象的所有属性的值
公式:ReturnValue=对象.GetProperties()
例子:Set TestObject=Browser("百度一下,你就知道").Page("百度一下,你就知道").Image("百度首页Logo")
Set Prpperties=TestObject.GetTOProperties()
PropertiesCount=Properties.count
Print "对象总计存在" & PropertiesCount & "个封装属性。"
For i=0 to PropertiesCount-1
PropName=Properties(i).Name
PropValue=Properties(i).Value
Print PropName & "=" & PropValue
Next
Set TestObject=Nothing
Set Properties=Nothing
分析:GetTOProperties()这个方法获取到的是一个数组,所以想要一个个打印属性值,就必须要得到对象的属性个数,然后再通过循环的方法把一个个属性和属性值打印出来
4、SetTOProperty()
含义:设置对象库中某个对象的某个属性值
公式:对象.SetToProperty "封装属性名","封装属性值"
例子: Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").SetTOProperty "name","百度一百万下"
MsgBox "时间停止,大家一起欣赏此时对象库中WebButton“百度一下”的name值!"
分析:SetTOProperty方法的作用就是妨碍变对象库中的值,但都是临时性的,只有脚本运行的时候有效,一旦脚本运行结束,对象库里的属性值就会还原,所以我在MsgBox那行加了一个断点(断点的快捷键是F9,使用当前断点不生效/生效的快捷键是Ctrl+F9,取消所有的断点的快捷键是Ctrl+Shift+F9)。需要注意的是SetTOProperty后面的参数不需要加括号,因为它没有返回值。
5、GetROproperty()
含义:获取实际在运行时的某个对象的某个属性的值(不是从对象库里面获取的)
公式:ReturnValue=对象.GetROproperty("封装属性名")
例子:ValueOfRo=Browser("百度一下, 你就知道").Page("百度一下,你就知道").WebEdit("搜索内容编辑框").GetROproperty("value")
MsgBox ValueOfRo
6、封装属性集结地
打开注册表(regedit),进入以下位置:
HKEY_CURRENT_USER--->software--->Mercury Interactive--->QucikTest Professional-->Mictest--->Attributes
转载于:https://blog.51cto.com/dgh00/1192657