【转载】QTP的几种同步等待方法

  • 在编写脚本时,经常要考虑到2个步骤之间的时间间隔问题,例如,1. 打开www.baidu.com2. 输入avepoint。 由于网速的不同,打开百度网页之后会有一定的延迟,所以12两步之间要有一个短时间的等待,可以通过以下几种方法实现:   1. 对象的默认等待时间。
      QTP识别对象时,会有一个默认的等待时间,可以在File-->Settings-->Run-->Object synchronization中设置,默认时间是20秒,也就是说当执行到第2步时,网页还没有完全打开,这样的话QTP找不到第2步中需要的对象,那么它会在20秒内不断的尝试查找对象,如果百度这个网页在20秒之内完全打开,那么这个方法就可行(网页全部打开的话,第2步所需的对象就会被找到),如果超过20秒还不行的话,请参考下面几种方式
      2. 使用.Sync方法。
      还是打开百度,输入Avepoint,可用如下代码来实现
      Browser("Browser").Navigatehttp://www.baidu.com
      Browser("Browser").Page("百度").Sync
      Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "Avepoint"
      第2句的意思就是等待百度这个页面完全打开,才继续执行下面操作。
      3. QTP系统自带的同步点功能
      第2种方法只能在Web中使用,那么如果其他类型的对象需要等待时间怎么办?可以使用QTP系统自带的同步点功能。
      还是上面的例子,在录制状态下,选择Insert-->Synchronization Point,选择要同步的对象,设置要同步的属性,我们可以对对象的Enablevisible一类表示状态的属性做同步点,生成如下脚本
      Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").WaitProperty "visible", True, 100000
      这句话的意思就是在100秒的时间内,等待WebEdit这个对象的visible属性,只要它的visible属性变为true,那么就执行下面操作,最后的100000单位是毫秒,如果在100000毫秒(100秒)后还没有等到visible = true,直接执行下面操作。
      4. 利用VBS语句。
      Do until Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Exist(5)
      Wait(1)
      Loop
      判断WebEdite这个对象是否出现,如果没有出现,执行Wait(1),如果出现,跳出循环。
      5. 死等大法。
      就是用Wait()语句设置等待时间,死等,比如Wait(10),就是脚本停止10秒,任何操作都不做,10秒之后继续往下执行操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值