cs0408 发表于 2009-11-24 14:39:59

关于QTP喘不过气来的事儿!!?

在我的QTP脚本里面,几乎每一个操作语句后面都要加个wait(1),让他等上一秒钟,这是为了防止QTP在运行过程中因为一下子反映不过来,而发生意外中断(我称这种现象为“喘不过气来”)。

那么,有没有统一地方法加个“缓慢设置”之类的,不需要再一句一句地添加wait语句!

恩~~!:)

wugecat 发表于 2009-11-24 15:56:12

可以..假如你点击"click"后可能出现延迟导致识别不到,那么你可以将click方法通过
RegisterUserFunc方法统一后面添加等待时间

xiaoyaoke 发表于 2009-11-24 16:21:52

看看这个配置:
File-->Setting-->Run:Object syschronization time
是否有帮助

f84248860 发表于 2009-11-24 17:16:22

楼主太有才了,那以后我看见QTP停在那里就说它闷死了。

可以设置一个公共等待时间,方法如楼上。注意这个单位是毫秒。

f84248860 发表于 2009-11-24 17:18:04

错了,不是楼上的,应该在Tools -> Option -> Run -> Run mode里面设置,设置成"fast"表示公共等待时间为0

紫若蓝 发表于 2009-11-24 18:41:22

那该怎么设置呢?

lijinshui 发表于 2009-11-25 14:32:44

最好不要用wait来,因为很耽误时间的阿
你可以判断阿比如说,你点了一个按钮,正常的因该摊出来一个窗口,你担心窗口没有出来的话,你可以用Exist( n )来判断一下,好处是在N的这段时间内只要窗口探出来的程序就会继续走,而不用还在等待了

shanxi 发表于 2009-11-25 14:33:55

用同步方法。

weijie_1016 发表于 2011-1-12 13:56:14

用waitproperty或者自已写一个do...loop
不要用wait,因为受测试环境影响有时不用等待1秒,而有时1秒后,对象又没有出现,所以最好是用同步等待。

feiyunkai 发表于 2011-1-12 15:30:32

本帖最后由 feiyunkai 于 2011-1-12 15:31 编辑

1、Tools -> Option -> Run -> Run mode中选择 Normal(displays execution marker) Delay each step execution by 1000 milliseconds'这里的1000毫秒可以根据需要修改 1秒=1000毫秒
设置的作用:在执行完一个步骤后停顿一秒然后执行下一个步骤,相当于每个步骤之间加上wait(1)
2、File-->Setting-->Run:Object syschronization timeout 20 seconds '这里是设置对象识别的超时时间,默认为20
以上2者的区别:1中的设置是死等,不管有没有找到对象都等1秒后才执行下一步骤,2中的设置是执行脚本中每一个步骤都会在页面中查找该步骤所用到的对象,找到后立刻执行下一步骤,若找不到则20秒后就会报错,所以我认为方法2的设置相对于方法1的设置要智能一点,你可以根据自己项目需要执行设置
若脚本运行过程中未报错,那么设置1比设置2要多运行 (脚本步骤数-1)*(BY后的时间/1000)*1 秒
页: [1]
查看完整版本: 关于QTP喘不过气来的事儿!!?