首页 测试 工具 查看内容

QTP 同步等待问题

2014-8-30 12:43| 发布者: | 查看: 598| 评论: 0

摘要:   在自动化测试中,同步等待也是一个很重要的问题,特别是Ajax的出现,使这个问题更为复杂.做过自动化测试的都清楚,要对测试对象操作的前提是对象已存在甚至是可见,否则就可能出错,甚至脚本运行不下去. 这也是自动测 ...

  在自动化测试中,同步等待也是一个很重要的问题,特别是Ajax的出现,使这个问题更为复杂.做过自动化测试的都清楚,要对测试对象操作的前提是对象已存在甚至是可见,否则就可能出错,甚至脚本运行不下去. 这也是自动测试执行中较为常见的脚本错误之一.现在总结下QTP的几个同步等待方法.

  1>对象的默认等待时间. 运行QTP脚本过程中要对某个对象进行操作时, QTP会根据对象库中对象的属性或是对象描述的属性对进行搜索此对象,如果在一段时间内仍未找到相应对象则认为些对象不存在.而这个时间则是对象的默认等待时间.可以在File-->Settings-->Run-->Object synchronization中设置,默认时间是20秒.

  2>对象的Exist属性.每个对象都会有Exist属性以判定些对象是否存在,其可以设置一个参数即是等待时间,在这个时间进行对象搜查. 使用注意1: 这是个对象属性而不是对象方法,其会有个返回值,当然是布尔值了.所以不能将"Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Exist(5)"作为一个语句,必须接受其返回值,不然会提示引对象不支持此方法. 使用注意2: 其参数是秒而非QTP tutorial上提示的毫秒,别被忽悠了.

  3>对象的waitProperty ("property","expectVaue",timeout)方法.几乎每个对象都有这个方法,此方法是指在timeout时间内等待此对象的某个属性值为期望值.如果在timeout内属性期望值出现则立刻执行下一步否则等待timeout. 注意此也是QTP设置同步点的方法:在录制状态下,选择Insert-->Synchronization Point,选择要同步的对象,设置要同步的属性则可设置一个同步点了.

  4>Synce方法.这个是WEB中专用的,主要用于页面载入时.使用范围较小但简单实用.

  5>wait方法,也被形象戏称为"死等大法".即是执行到这一步时暂停执行脚本,然后等待一段时间,时间满后继续执行下一步.Wati(timeout),此方法的唯一参数当然是等待时间了,它由秒跟毫秒组成.

  大概来说QTP有5种同步等待方法,实际中运用哪个就要看具体情况了,我的建议也是按上面的顺序...

本文出自dohu123的51Testing软件测试博客:http://www.51testing.com/?110722

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明,否则将追究法律责任。


鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部