QTP同步等待方法详解:对象识别与操作策略

需积分: 4 4 下载量 169 浏览量 更新于2024-08-16 收藏 1.38MB PPT 举报
QTP(Quick Test Professional)是一种广泛应用于自动化测试的工具,尤其在Web应用测试中发挥着重要作用。本文主要介绍了QTP中几种同步等待方法,以便在脚本执行过程中确保对象状态符合预期。 首先,QTP具有一个默认的等待时间,可以在File > Settings > Run > Object synchronization选项中进行设置,这是在识别对象时的基础等待机制,如果对象没有立即出现,它会等待默认的20秒后再继续下一步操作。 其次,使用`.Sync`方法是一种更为精确的同步方式,如`Browser("Browser").Navigate http://www.baidu.com Browser("Browser").Page("百度").Sync`,这种方法会阻塞脚本的执行,直到浏览器页面完全加载完成。这确保了测试环境中的动作是在页面稳定后执行的。 第三,`Wait`关键字可以指定固定的等待时间,比如`Wait 5000`会暂停脚本5秒,这对于等待特定条件满足或者网络延迟有显著作用。 同步点的概念在QTP中也很重要,它允许脚本在遇到预设的属性值改变时继续执行。例如,`Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").WaitProperty "visible", True, 100000`,这段代码会一直等待直到WebEdit的可见性属性变为真,即文本框可见,才继续后续步骤。 QTP的脚本编写涉及到TestObject(TO)和RuntimeObject(RO)两个概念。TO是预先在仓库文件中定义的,存储了实际对象的特征属性信息,而RO则是运行时QTP在目标应用程序中找到的真实对象。QTP通过识别TO并在应用程序中搜索匹配的RO来执行操作。脚本编写时,可以通过`GetTOProperty()`和`SetTOProperty()`获取和设置TO的属性,通过`GetROProperty()`获取实际对象的属性。 QTP提供两种操作对象的方式:对象的自身接口和封装接口。自身接口是直接与控件交互的,如`对象.object.属性`或`对象.method()`,而封装接口则是QTP为隐藏底层细节而提供的,使用时无需`object`前缀,如`对象.GetROProperty("属性")`或`对象.封装方法()`。 在处理文本框值时,QTP提供了两种方法:一是利用自带的`out`值,例如在WindowsInternetExplorer窗口中操作`WinObject("Internet Explorer").WinObject("文本框名称").Text = "输入值"`;二是通过属性直接获取,如`WebEdit("wd").Value`,这有助于获取文本框中的实际内容。 理解和掌握这些同步等待方法和对象操作原理是提高QTP测试效率的关键,能够帮助你编写出更稳定、准确的自动化测试脚本。