平淡的生活,我依旧能梳理出生活的乐章!

QTP的同步处理机制

上一篇 / 下一篇  2011-01-09 00:24:14 / 个人分类:QTP

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


TAG:

xin_晴的个人空间 引用 删除 xin_晴   /   2011-01-11 15:44:35
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www.51testing.com/html/63/n-227463.html
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
582357212的个人空间 引用 删除 582357212   /   2011-01-11 10:38:56
Dialog("Login").Dialog("Flight Reservations").Exist(10) ,但是这时候如果对象没有加载到内存,不就是找不到了么,那怎么还能用Exist方法,这不是一个先有鸡,还是先有蛋的问题么?能给我详细解说一下么,或者给出Exist方法具体实现的代码啊,谢谢
 

评分:0

我来说两句

Open Toolbar