声明:本空间的内容不全部是原创,如有雷同只为学习与借鉴之方便,别无它意,来者是朋友,愿通过此平台结交天下测试达狼!

软件测试工具QTP的几种同步等待方法

上一篇 / 下一篇  2010-05-18 17:24:15 / 个人分类:QTP

在编写脚本时,经常要考虑到2个步骤之间的时间间隔问题,例如,1. 打开www.baidu.com2. 输入avepoint。 由于网速的不同,打开百度网页之后会有一定的延迟,所以1,2两步之间要有一个短时间的等待,可以通过以下几种方法实现:51Testing软件测试网){S6{/e"D:n

  1. 对象的默认等待时间。

U,~)XvWy+V-vE-R|051Testing软件测试网{v!m"d0QJ1^

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

7C+X9\bxPr3WL0  2. 使用.Sync方法。51Testing软件测试网"F)ZJ Ol/f2A7x/Q$l

r;DbfZ)W0  还是打开百度,输入Avepoint,可用如下代码来实现

.~;TnjB'F%r"Uj0

cyk ^l$U0  Browser("Browser").Navigatehttp://www.baidu.com

6Tbc H*C$ks0

1X&K"BNB#V-t+E0  Browser("Browser").Page("百度").Sync51Testing软件测试网SL%yksfoUq

T(pXh~Vm7d%u0  Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "Avepoint"51Testing软件测试网r JY Cd+p.bD

R0XJ I;R5_B\(v,G~8@-x0  第2句的意思就是等待百度这个页面完全打开,才继续执行下面操作。

n9l6WCd A4l5O@051Testing软件测试网!K6w.S?g"d

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

pZS?"Ck2BZ0

(yVZ1`'?8m0Oa0  第2种方法只能在Web中使用,那么如果其他类型的对象需要等待时间怎么办?可以使用QTP系统自带的同步点功能。51Testing软件测试网D$s3m yI3y U]$lR

51Testing软件测试网 ]x8lok}DXM

  还是上面的例子,在录制状态下,选择Insert-->Synchronization Point,选择要同步的对象,设置要同步的属性,我们可以对对象的Enable,visible一类表示状态的属性做同步点,生成如下脚本51Testing软件测试网Zq |l9h C2a$mH5p

s,L@;D2?E j]0  Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").WaitProperty "visible", True, 100000

b"s/D'v.s[0

F?`OqH0  这句话的意思就是在100秒的时间内,等待WebEdit这个对象的visible属性,只要它的visible属性变为true,那么就执行下面操作,最后的100000单位是毫秒,如果在100000毫秒(100秒)后还没有等到visible = true,直接执行下面操作。51Testing软件测试网:F} q X6q%| F bR+Ia

51Testing软件测试网^JlY h'Z!t w"Y F

  4. 利用VBS语句。51Testing软件测试网a1Ri{!wa)q

i,p{H7l@0  Do until Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Exist(5)

7ah$A-E9O0

T2~z0I)wJ0  Wait(1)

?.`6Igy]!Qvg0

0z\}B:W6DN._0  Loop51Testing软件测试网(F/|d7F*a9T uig

v3Ix:S8dl yo/O's$q#]*f0  判断WebEdite这个对象是否出现,如果没有出现,执行Wait(1),如果出现,跳出循环。

g']DU3r EqZ(Z051Testing软件测试网h7ki@&vVn1O

  5. 死等大法。51Testing软件测试网JFFq xr

51Testing软件测试网0b.P P`E |,m3iC%K

  就是用Wait()语句设置等待时间,死等,比如Wait(10),就是脚本停止10秒,任何操作都不做,10秒之后继续往下执行操作。

OZ$^NnX8Cc4K2D*l0

TAG:

 

评分:0

我来说两句

Open Toolbar