51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2776|回复: 7
打印 上一主题 下一主题

[原创] 高手请修改判断页面信息加载完毕的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-13 16:48:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Sub PageSync
         olds=0
               times=0
               Do while times<12
               Set oDesc = Description.Create()
               oDesc("micclass").Value = "WebElement"
               Set Lists = Browser("Browser").Page("Page").ChildObjects(oDesc)
               news= Lists.Count()
              If olds=news and news >0 then
        exit do
               end if
        olds=news
               wait(6)
               times=times+1
               Lists=noting
               loop
End Sub
现在问题是页面出来的特慢,有的页面差不多50S页面上所有内容才完全显示。
这个方法的问题是:
1.如果wait(6)之后页面信息数目news与olds的值相等,就会退出循环了,很有可能页面上的信息没有完全显示。
2.每次Call 此方法,至少要wait(6),很占用时间。

请大家帮忙修改下。非常感谢。

[ 本帖最后由 tracy.zhao 于 2007-6-14 09:41 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-6-13 16:49:11 | 只看该作者
在线等.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-6-13 17:08:35 | 只看该作者

怎么没人回答呀,

sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-6-14 11:28:06 | 只看该作者

难道没人碰到过判断页面加载不完全的问题吗?

斑竹帮下忙吧。sdlkfj9
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2007-6-14 11:36:30 | 只看该作者
    你用描述性编程肯定会影响速度的。
    不知道你的页面加载完毕后,有没有其他的信息?

    我这里有个例子,就是QTP 自带的FLight

    Browser("Welcome: Mercury Tours").WinStatusBar("msctls_statusbar32").WaitProperty "text", "小应用程序 showCalendar started"

    在填写日期的时候,总是有java控件来不及加载的情况,后来我发现,浏览器左下角的状态栏,在java控件加载完毕后会变成“小应用程序 showCalendar started”,字样。
    就可以用同步点了。

    一般网页加载完毕后会在状态栏显示“完成”,你也可以用同样的办法试试看。
    当然同步点的默认时间可以不用默认的10s,略多些。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2007-6-14 11:53:51 | 只看该作者

    这个我也试用,在状态栏显示好像没有规律,有时显示完成,有时又不是。

    这个我也试用,在状态栏显示好像没有规律,有时显示完成,有时又不是。真是郁闷呀
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2007-6-27 17:40:06 | 只看该作者
    谢谢river man的解答,我发现网页下载完毕后或显示完成,或者显示成其他的。
    我是用for循环来判断的。
    如果显示完成就直接退出循环,如果不是就wait(3).
    估计下页面下载的时间来决定循环次数。
    code as follow:
    Sub PageSync
                                    Browser("Browser").Page("Page").Sync
                                    times=0
                   Do while times < 90
                                    Set oDesc= Description.Create()
                                    oDesc("nativeclass").value="msctls_statusbar32"
                                    Set obj=Browser("Browser").WinStatusBar(oDesc)
                    select case language
                                   
                                    case "EN"
                                    PageStatus=obj.WaitProperty("text","Done",2000)
                                   
                                    case "JAP"
                                    PageStatus=obj.WaitProperty("text","ページが表示されました",2000)
                   
                                    Case "CHS"
                                    PageStatus=obj.WaitProperty("text","完毕",2000)
                                   
                                    case "CHT"
                                    PageStatus=obj.WaitProperty("text","完成",2000)
                                   
                                    case "KOR"
                                    PageStatus=obj.WaitProperty("text","완료",2000)
                                   
                    end select

                             If PageStatus=True then
                        exit do
                    end if
                    times=times+1
                   loop
    End Sub
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-6-27 17:55:05 | 只看该作者
    如果等待页面同步时,鼠标停在页面某个链接上,楼上的还能正常工作么?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-10-7 18:28 , Processed in 0.089578 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表