使用ORM对象库自动化模型来读取对象库TSR中的信息
ORAOM:Object Repository automation object model(对象库自动化模型对象)
本文脚本不需要QTP加载对象库,就能读取对象库中的内容,包括对象名称和各个属性值。
'创建ObjectRepositoryUtil对象
Set ObjRepoUtil = CreateObject("Mercury.ObjectRepositoryUtil")
'加载对象库tsr文件
ObjRepoUtil.Load "D:/对象库.tsr"
'打印全部对象属性值
PrintObjInfo ObjRepoUtil, "ROOT", ""
Set ObjRepoUtil = Nothing
Sub PrintObjInfo(ByRef ObjRepoUtil, ByRef Parent, ByVal tab)
If TypeName(Parent)="String" Then
print Parent 'ROOT对象不打印属性
Else
tab = tab & vbTab
'获得当前对象所有属性,并组装成字符串
Set props = Parent.GetTOProperties
For j=0 to props.count-1
propstr = propstr & "," & props(j).name & ":=" & props(j).value
Next
'打印当前对象名称和属性值
print tab & ObjRepoUtil.GetLogicalName(Parent) &",Class:=" & Parent.GetTOProperty("class name") & propstr
Set props = Nothing
End If
'获得当前对象的所有子对象
Set chdobj=ObjRepoUtil.GetChildren(Parent)
If chdobj.count > 0 Then
'有子对象则递归调用本函数,输出子对象信息
For i=0 To chdobj.count-1
PrintObjInfo ObjRepoUtil, chdobj.item(i), tab
Next
End If
Set chdobj=Nothing
End Sub 相关推荐
hickwu 2020-06-16
Ongoingcre 2020-06-09
wintelx 2020-05-11
gdb 2020-05-01
atb 2020-04-18
cuixingwudi 2020-02-21
fenxinzi 2020-01-11
smalllove 2019-12-24
qidu 2019-12-16
secondid 2019-12-05
hazing 2014-03-18
zyccsdn 2015-07-27
怪盗基德 2017-09-22
lcyangcss 2019-10-25
codeAB 2019-10-23
Geeny 2019-09-08
Will0 2012-03-21