topor 发表于 2007-8-6 23:52:24

【求助老师】Synchronization time 与Synchronization object time

在QTP的学习过程中,我们经常会遇到一些时间问题,比如说Synchronization time 与Synchronization object time,object visible time(不知道是不是和Synchronization object time是相同的意思),global timeout 等等。这些时间都弄的不太明白,希望老师能够详细的解释一下这些time的具体含义及用法。
还有一道题要请教一下老师,如果qtp设置了Synchronization time 为20s,Synchronization object time 为25s, 则当QTP 运行到这一步时会等待多长时间运行到下一步,为什么? 谢谢

andy 发表于 2007-8-7 21:39:39

我想这里面涉及到两个概念,我们现在可以探讨一下.
首先是在insert synchronization point时需要输入的timeout时间(毫秒),这个只是针对某一步操作而设定的超时时间,如果超过设置时间页面仍然没有同步,脚本会继续执行下去.

其次,QTP在Test seting,Run tab中的Object synchroniztion timeout时间(秒)选项,是对整个QTP脚本有效的超时时间.

Browser navigation timeout是QTP中专门针对WEB页面加载的时间选项.

还有一道题要请教一下老师,如果qtp设置了Synchronization time 为20s,Synchronization object time 为25s, 则当QTP 运行到这一步时会等待多长时间运行到下一步,为什么? 谢谢
我觉得应该按照个别设置时间来算,如果在个别时间还没有load出页面再按照Synchronization object time来算.

[ 本帖最后由 andy 于 2007-8-7 22:17 编辑 ]

topor 发表于 2007-8-7 23:42:08

你的意思是不是就是说Synchronization time,Synchronization object time 这两个时间都是按照比较长的那个时间来等待同步?

songfun 发表于 2007-8-9 00:58:19

没那么复杂。
timeout就几个地方有,除了钱老师说的navigation timeout,最常看到的就是楼主所说的步骤同步点和对象同步点。
对象同步点和全局同步点是一回事,在菜单file--settings--run里设置;
步骤同步点在菜单Insert--synchronization point里设置;
对象同步点就是等待对象是否exist、visible,两者同时满足就pass,没有满足就failed。
至于你说的20s和25s并不是按长的算的——假设步骤同步点20s,对象同步点5s,在5秒内,对象没有出现或者不可见(比如灰显状态下是无法激活、点击的),QTP都会不断重试,但是超出5秒后仍然不可见,它就不再等待了,直接报错。注意这个时候它不会等20秒的!
再假设你步骤同步点20s,对象同步点25s,那么QTP最终会等多久呢?答案是:对于对象没有出现或者不可见的情况它会等待25s,对于你设定的步骤同步点它等待20s,也就是说,某个你指定的同步步骤超过20秒后,QTP不再等待了,而继续执行下一步的步骤。注意:步骤同步点不会报错,只会warning的。
总结一下:对象同步点超时了就直接报错;步骤同步点则不会报错,只是跳过当前步骤继续执行下一步而已。

[ 本帖最后由 songfun 于 2007-8-9 01:00 编辑 ]

topor 发表于 2007-8-13 14:55:02

经过两位版主的解释我基本上明白了,谢谢哈sdlkfj2
页: [1]
查看完整版本: 【求助老师】Synchronization time 与Synchronization object time