首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTP: JavaScript同步

QTP: JavaScript同步
EN

Stack Overflow用户
提问于 2010-07-22 19:57:22
回答 1查看 2K关注 0票数 1

有一个框架,它的内容由javascript加载。

代码语言:javascript
复制
<iframe ... onload="pageLoaded();">

QTP测试需要等待,直到它完成加载。根据用户设置,框架内容可能会有所不同,因此不能检查框架中是否存在元素。

有没有一种方法可以在QTP中等待,直到所有内容都加载完毕,而不尝试检查某些元素的存在?

EN

回答 1

Stack Overflow用户

发布于 2011-02-01 23:45:44

有几种方法:

最简单的方法是在页面对象上使用隐藏的sync方法:

代码语言:javascript
复制
oPage.sync    ' Where oPage is your page object

如果这不起作用,您可以获取浏览器对象的wait属性:

代码语言:javascript
复制
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)

代码语言:javascript
复制
Set oStatusBar = Browser("micclass:=Browser").WinStatusBar("nativeclass:=msctls_statusbar32")
Do : Loop Until instr(oStatusBar.GetROProperty("text"), "Waiting") = 0

或进度条:

代码语言:javascript
复制
Set oProgressBar = Browser("micclass:=Browser").WinObject("nativeclass:=msctls_progress32")
Do : Loop Until oProgressBar.getROproperty("visible")

(代码简化。如您所知,在访问对象和属性之前,必须检查对象和属性是否存在。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3308532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档