我的目标是从Object Repository文件(.tsr)中获取一个对象,并对该对象执行一些操作,如click,set ... 在下面的代码" WebButton"捕获对象。但是当我表演"点击"对此对象的操作(brObj)。在UFT"中获取错误消息由于不可恢复的错误行(20),测试运行无法继续:brObj。点击"
Dim RepositoryFrom, brObj
Dim ObjectRepositoryPath, str, pgStr, btnStr
ObjectRepositoryPath="C:\Repository2.tsr"
Set RepositoryFrom = CreateObject("Mercury.ObjectRepositoryUtil")
RepositoryFrom.Load ObjectRepositoryPath
str = "Browser("+""""+"Title"+""""+")"
pgStr = "Page("+""""+"Title"+""""+")"
btnStr = "WebButton("+""""+"Login"+""""+")"
'MsgBox str
set brObj = RepositoryFrom.GetObject(str+"."+pgStr+"."+btnStr)
brObj.Click 'Getting error for this line
UFT还有另一种方法可以对已经被重新检索的对象执行操作
来自对象存储库文件(.tsr)
答案 0 :(得分:1)
您从该库访问的COM对象与UFT运行时引擎在回放期间使用的对象不同。如果要在运行时加载对象存储库文件,可以使用RepositoriesCollection实用程序对象将文件添加到可用的对象存储库。加载后,您可以像访问UFT中的任何其他测试对象一样访问测试对象。</ p>
Dim ObjectRepositoryPath, brObj
ObjectRepositoryPath = "C:\Repository2.tsr"
RepositoriesCollection.Add ObjectRepositoryPath
Set brObj = Browser("Title").Page("Title").WebButton("Login")
brObj.Click
答案 1 :(得分:0)
还有另一种方法可以使用“Execute”语句从字符串中获取测试对象,它适合播放。
str = "Browser("+""""+"Title"+""""+")"
pgStr = "Page("+""""+"Title"+""""+")"
btnStr = "WebButton("+""""+"Login"+""""+")"
Execute "set brObj = "+str+"."+pgStr+"."+btnStr"
brObj.Click