QTP 同步等待问题

发表于:2009-1-09 15:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:dohu123    来源:51Testing博客

#
QTP

  在自动化测试中,同步等待也是一个很重要的问题,特别是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

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

相关阅读

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号