我在 TestComplete v8 中运行一个测试脚本。内存中的对象图已过时(出现对话框)。
我运行以下 VBScript 代码
Sys.Process("iexplore").RefreshMappingInfo()
我收到以下错误消息...
Unable to find the object RefreshMappingInfo. See Additional Information for details.
The object with the specified attributes does not exist.
Possible causes of the error
此错误与 TC 将方法调用解释为尝试查找控件有关。
真的很奇怪.. 如果我通过 COM 连接到 TC8 并执行相同的代码,它工作正常。所以在红宝石中:
require 'win32ole'
tc = WIN32OLE.connect("TestComplete.TestCompleteApplication.8")
integration = tc.integration
Sys = integration.GetObjectByName("Sys")
puts Sys.Process("iexplore").Page("http://localhost:50563/x.aspx") _
.Form("form1").Panel("silverlightControlHost").Object(0).UIAObject("Popup").Exists
' This returns false
Sys.Process("iexplore").RefreshMappingInfo()
' No error raised
puts Sys.Process("iexplore").Page("http://localhost:50563/x.aspx") _
.Form("form1").Panel("silverlightControlHost").Object(0).UIAObject("Popup").Exists
' returns true
为什么这在测试期间不起作用?我如何解决它?