QTP中Wait与同步点的区别

上一篇 / 下一篇  2012-07-10 16:27:50 / 个人分类:QTP自动化

先说wait函数,当脚本走到wait函数时,就开始执行这个函数.如:wait(10),就等待10秒种后再继续执行下面的语句.wait函数的这个等待的时间,那相对来说是比较固定的.如上例子,一定要等待完10秒后再执行.所以写脚本的时候要自己估算一下时间.不然可能造成时间的浪费,或者等待时间的不足.

    那同步点呢.等待时间就比较灵活了,它的等待时间是不固定的.设置同步点后,当脚本执行到这句话后,脚本就开始执行等待.脚本会在规定时间内不断的去检查,所同步的对象有没有出现,一但出现,脚本就继续往下执行.不需要等完所有规定时间.如果在规定的时间内,所要同步对象还没有出现,那就提示超时的错误信息.

Window("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "text", "Insert Done...", 10000


   当脚本执行到这句话时,就开始执行同步等待时间.这里设置超时时间为10000毫秒(10秒).在这个时间内,脚本会不断去查看该对象的text属性的属性值Insert Done...,有没有出现.一但同步到这个属性值,就开始执行下面的脚本了.而不需要再继续等待,直到1000秒结束为止.那这样的话,这个等待时间不用自己去控制,设置好后由程序自己去判断,就比较灵活,也不会出现浪费时间的情况.能提高脚本的执行率.

举例:

SubWaitProperty_Example()
'The following example uses the WaitProperty method to make the
'test wait until the ActiveX "Calendar" object is enabled, or for
'5 seconds (5000 milliseconds) to pass. If the object is enabled before
'4 seconds pass, QuickTest clicks the object.
WithWindow("Date").ActiveX("Calendar")
    If.WaitProperty("Enabled",True, 5000) =FalseThen
        Reporter.ReportEvent 1,"Calendar","Object Disabled"
    Else
        .Click 95, 100
    EndIf
EndWith
EndSub

TAG: QTP qtp Wait wait

 

评分:0

我来说两句

Open Toolbar