51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2684|回复: 12
打印 上一主题 下一主题

[原创] QTP的页面同步问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-9-26 14:08:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用QTP录制脚本时,登录或者跳转页面总需要等待页面加载完成,不知道大家是如何实现这个页面同步操作的。我的做法是使用这种方法:Browser("网易163").Object.Busy=false,但是这个方法只对浏览器对象有用,对page对象就没办法用了。除了wait方法,各位还有其他更好的方法么?大家讨论一下。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2012-9-27 10:30:53 | 只看该作者
    回复 1# vipwork


        用.Exist(1)的方法判断某一个控件是否存在。
        我是结合DO循环一起用的。由于加载比较慢,所以需要等待的时候时常时短。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2012-9-27 16:32:40 | 只看该作者
    楼上方法很好,同意。用exist方法很好用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-9-28 11:31:44 | 只看该作者
    browser().page().sync  有用吗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2012-9-28 11:43:01 | 只看该作者
    用.Exist(1)的方法有一个缺点啊,就是要知道哪个控件加载完就代表页面加载完。有些时候很难找到一个控件是代表页面加载完成的。而且不知道你们有没有遇到过,有时候控件出现了,但是QTP就是找不到,还是在不断的循环
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2012-9-28 11:46:13 | 只看该作者
    回复 4# zxmxjl


            很少用到。因为我发现这个方法只能状态栏是否显示加载完成,但是数据是否在页面上渲染完成就无法判断了。我这边的系统在网络慢的时候数据显示会有点慢,但是这个时候浏览器的状态栏已经显示“完成”
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2012-9-28 12:37:48 | 只看该作者
    回复 5# vipwork


        我也经常遇到控件出来了,但是do until循环就是检测不到控件exist,一直在那里循环。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    8#
    发表于 2012-9-28 13:48:28 | 只看该作者
    browser().page().sync  有用吗
    zxmxjl 发表于 2012-9-28 11:31



        这个方法我觉的没什么太大的用处。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    9#
    发表于 2012-9-28 13:49:53 | 只看该作者
    回复  vipwork


        我也经常遇到控件出来了,但是do until循环就是检测不到控件exist,一直在那里循环 ...
    zxmxjl 发表于 2012-9-28 12:37



        脚本需要完善吧,至少我没有遇到过这样的情况。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2012-9-28 18:58:01 | 只看该作者
    脚本需要完善吧,至少我没有遇到过这样的情况。
    黑羽祭 发表于 2012-9-28 13:49



        请问检测一个控件是否存在,我这样写有问题吗?
    do  until  browser().page().webbutton().exist
    wait  5
    loop
    我以一个按钮为例子,就5秒循环检测一次,这有漏洞吗,有时候会出现页面上按钮已经存在了,但是检测不到一直在循环。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    11#
    发表于 2012-9-29 10:58:15 | 只看该作者
    本帖最后由 黑羽祭 于 2012-9-29 11:01 编辑

    回复 10# zxmxjl

    写的没什么问题,可以试试这样的小调整
        Do
            wait 1
        Loop  Until  browser().page().webbutton().exist(0.5)
    至于为什么一直循环,你手动用SPY检查多次那个按钮,留意是不是哪个属性会变动。
    如果会变动,你检查下对象库中对这个控件的描述是不是增加了这个变动项,修改对象库中对这个控件的描述,直接去掉或者改成别的不会变动的属性。
    要么直接用描述性编程描述webbutton这个控件,反正保证能检查到就OK了。






    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2012-10-9 12:02:45 | 只看该作者
    回复 8# 黑羽祭


        sync,这个可以说根本没什么用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    13#
    发表于 2012-10-9 16:14:40 | 只看该作者
    回复 12# qinzl_1


        所以我几乎不用~哈哈
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-23 20:18 , Processed in 0.078809 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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