QTP的同步处理机制:
在脚本回放时,有时候可能会由于页面没有加载完成,就会出现找不到控件的提示信息,那如何解决这种问题呢?
一、设置等待时间的方法,如:
1)调用wait(20)函数;
2)在File-->Settings-->Run-->Object synchronization中设置,默认时间是20秒;
这样虽然可以避免错误提示,但当等待时间超过20秒,只能设置更长大的时间,理论上只要时间足够长就可以解决问题,但执行效率也会十分低,而且,大多数情况下,往往不需要等待这么长的时间;
二、QTP提供的页面同步方法;
Browser("百度一下,你就知道").Sync
Browser("百度一下,你就知道").Page("百度一下,你就知道").Sync
Browser的Sync方法,是指等待网页下方显示‘完成’
Page的Sync方法,是指等待网页页面元素完全显示出来;(注:此区分来源网络,未考证,偶一般都是用Page的Sync的方法;)
三、QTP的WaitProperty方法
With Window("Date").ActiveX("Calendar")
If .WaitProperty("Enabled", True, 5000) = False Then 等待"Calendar"对象可用
Reporter.ReportEvent 1, "Calendar", "Object Disabled"
Else
.Click 95, 100
End If
End With
四、用VB脚本;
If Dialog("Login").Dialog("Flight Reservations").Exist(10) then '用10秒钟寻找这个对象是否存在,不输入值时寻找时间等于Object Synchronization Timeout 设置的时间
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
end if
版权声明:本文出自liyuan_400的51Testing软件测试博客:http://www.51testing.com/?175766
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。