QTP同步等待问题-自动化测试
更新时间:2022-05-30 09:06:04 作者:多测师 浏览:218
在自动化测试中,同步等待也是一个很重要的问题,特别是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同步等待问题,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/