QTP 同步等待

1. 对象的默认等待时间

QTP识别对象时,会有一个默认的等待时间,可以在File–>Settings–>Run–>Object synchronization中设置,默认时间是20秒,也就是说当执行到第2步时,网页还没有完全打开,这样的话QTP找不到第2步中需要的对象,那 么它会在20秒内不断的尝试查找对象,如果百度这个网页在20秒之内完全打开,那么这个方法就可行(网页全部打开的话,第2步所需的对象就会被找到),如 果超过20秒还不行的话,请参考下面几种方式。

2. 使用.Sync方法(只能在Web中使用)

  Browser("Browser").Navigatehttp://www.baidu.com
  Browser("Browser").Page("百度").Sync
  Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "Avepoint"

第2句的意思就是等待百度这个页面完全打开,才继续执行下面操作。

3. QTP系统自带的同步点功能

还是上面的例子,在录制状态下,选择Insert–>Synchronization Point,选择要同步的对象,设置要同步的属性,我们可以对对象的Enable,visible一类表示状态的属性做同步点,生成如下脚本

  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秒之后继续往下执行操作。

2 weeks ago, this page was being read.

,

Subscribe to Comments