使用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 = NothingSub PrintObjInfo(ByRef ObjRepoUtil, ByRef Parent, ByVal tab)If TypeName(Parent)="String" Thenprint Parent'ROOT对象不打印属性Elsetab = tab & vbTab'获得当前对象所有属性,并组装成字符串Set props = Parent.GetTOPropertiesFor j=0 to props.count-1propstr = propstr & "," & props(j).name & ":=" & props(j).valueNext'打印当前对象名称和属性值print tab & ObjRepoUtil.GetLogicalName(Parent) &",Class:=" & Parent.GetTOProperty("class name") & propstrSet props = NothingEnd If'获得当前对象的所有子对象Set chdobj=ObjRepoUtil.GetChildren(Parent)If chdobj.count > 0 Then'有子对象则递归调用本函数,输出子对象信息For i=0 To chdobj.count-1PrintObjInfo ObjRepoUtil, chdobj.item(i), tabNextEnd IfSet chdobj=NothingEnd Sub
?