有一个框架,它的内容由javascript加载。
<iframe ... onload="pageLoaded();">QTP测试需要等待,直到它完成加载。根据用户设置,框架内容可能会有所不同,因此不能检查框架中是否存在元素。
有没有一种方法可以在QTP中等待,直到所有内容都加载完毕,而不尝试检查某些元素的存在?
发布于 2011-02-01 23:45:44
有几种方法:
最简单的方法是在页面对象上使用隐藏的sync方法:
oPage.sync ' Where oPage is your page object如果这不起作用,您可以获取浏览器对象的wait属性:
if oBrowser.WaitProperty("state", micRegExpMatch("4|complete"), 60 * 1000) then
msgbox "Browser is ready!"
else
msgbox "Even after 1 minute, the browser is not ready :("
end if或者,您可以获取状态栏,文本,并查看其中是否有文本“等待”(仅限IE)
Set oStatusBar = Browser("micclass:=Browser").WinStatusBar("nativeclass:=msctls_statusbar32")
Do : Loop Until instr(oStatusBar.GetROProperty("text"), "Waiting") = 0或进度条:
Set oProgressBar = Browser("micclass:=Browser").WinObject("nativeclass:=msctls_progress32")
Do : Loop Until oProgressBar.getROproperty("visible")(代码简化。如您所知,在访问对象和属性之前,必须检查对象和属性是否存在。)
https://stackoverflow.com/questions/3308532
复制相似问题