qtp:同步点

1、同步点原理:在一个测试过程中,指示qtp等待应用程序中某个特定过程运行完成以后再运行下一步操作
2、默认同步时间:
qtp默认同步时间为20s (file》》settings》》run》》object synchronization timeout:)
可以手工更改对象识别的同步时间
web插件对于web浏览器对象的默认同步时间为60s ( file》》setting》》web》》browser navigation timeout:)
同样,可以手工更改对象识别的同步时间

3、插入同步点
语法:object.waitproperty(propertyname,propertyvalue,【timeout】)
browser(“百度一下,你就知道”).page(“百度一下,你就知道”).webedit(“wd”).waitproperty “name”,“wd”.5000
qtp默认同步时间为全局时间,手工设置的时间为同步点超时时间,总超时时间=全局时间|+同步点超时时间

4、同步点的方法
(1)对象的默认等待时间
qtp识别对象时,会有一个默认的等待时间,在file/settings/run/object synchronization 中设置,默认时间是20s,

(2)sync 方法(只能在web中使用)
sync 方法等待浏览器或页面加载完成后才进行下一步操作。常用对象中,只有browser(浏览器对象)和page(页面对象)具有sync方法
browser.sync:表示等待ie状态显示为完成后,再进行下一步操作
page.sync:表示等待页面信息加载完成后,再进行下一步操作

systemutil.run“iexplore.exe”,“http://www.google.com”
browser(“google”).page(“google”).sync
注意:虽然sync方法会使qtp等待到页面加载完成后,才进行下一步操作,但是它无法判断页面是否加载成功,如果需要判断页面加载是否成功,可以通过
判断页面中对象visible的属性值
if browser(“google”).page(“google”).webedit(“q”).getroproperty(“visible”)=true then
msgbox “加载成功”
else
msgbox “加载不成功”
end if

(3)waitproperty方法
当指定的属性出现后或是指定时间后指定的属性还未出现,再进行下一步操作
注意:该方法适用于除winmenu对象(菜单对象)以外的所有标准windows对象
常用的比较方式有一下6种
micgreaterthan 大于
miclessthan 小于
mic greater than or equal 大于或等于
mic less than or equal 小于或等于
mic not equal 不等于
mic regexp match 正则表达式匹配

(4)exist方法
用于判断对象是否存在。
语法:object.exist(【timeout】)当设置超时时间时,如:object.exist 10,那么qtp会一直查找该对象,如果在指定的时间内未找到该对象,则提示无法找到该对象
如果设置超时时间为0,object.exist 0,那么qtp不会等待,而是直接反回查找的结果(true或false)
如果未设置超时时间,object.exist,那么超时时间为qtp默认的同步时间
do until browser(“百度一下,你就知道”).page(“百度一下,你就知道”).webedit(“wd”).exist(5)
wait(1)
loop
判断webedit这个对象是否出现,如果没有出现,执行wait(1),如果出现,则跳出循环

(5)wait方法(死等大法)
wait方法使qtp暂停运行一定的时间
与其他方法不同的是,wait方法强制qtp暂停运行一定的时间,并不会判断指定的对象是否出现。不管对象是否出现,当等待的时间结束后,qtp都将进行下一步操作
当脚本走到wait函数时,就开始执行这个函数
如:wait(10),就等待10秒,然后在继续执行下面的语句。wait函数的这个等待的时间,是比较固定的,wait(10)就一定药等待10秒后在执行
同步点的等待时间就比较灵活,它的等待时间是不固定的。设置同步点后,当脚本执行到这句话后,脚本就开始执行等待,脚本会在规定的时间内不断的去检查,
所同步的对象有没有出现,一旦出现,脚本就会继续往下执行,不需要等完所规定的时间。如果在固定的时间内,索要同步对象还没有出现,那就提示超时的错误信息





































































猜你喜欢

转载自blog.csdn.net/xuejinyan123/article/details/80941190
QTP