QTP – 同步
QTP – 同步
同步点是工具和被测应用程序之间的时间接口。同步点是一个特性,用于指定测试脚本的两个步骤之间的延迟时间。
例如,点击一个链接加载页面可能需要 1 秒,有时需要 5 秒,甚至可能需要 10 秒才能完全加载。它取决于各种因素,例如应用程序服务器响应时间、网络带宽和客户端系统功能。
如果时间变化,则脚本将失败,除非测试人员智能地处理这些时间差异。
插入同步点的方法
- 等待属性
- 存在
- 等待
- 同步(仅适用于基于 Web 的应用程序)
- 插入 QTP 内置同步点。
让我们说,我们需要在点击“数字”链接和点击“ www.easycalculation.com ”中的“简单兴趣”计算器之间插入一个同步点。我们现在将看看为上述场景插入同步点的所有五种方法。
方法 1 – WaitProperty
WaitProperty 是一种以属性名称、值和超时值作为输入来执行同步的方法。这是一个动态等待,因此鼓励使用此选项。
' Method 1 - WaitProperty with 25 seconds Dim obj Set obj = Browser("Math Calculator").Page("Math Calculator") obj.Link("Numbers").Click obj.Link("Simple Interest").WaitProperty "text", "Simple Interest",25000 obj.Link("Simple Interest").Click
方法 2 – 存在
Exist 是一种将 Timeout 值作为输入来执行同步的方法。同样,这是一个动态等待,因此鼓励使用此选项。
' Method 2 : Exist Timeout - 30 Seconds Dim obj Set obj = Browser("Math Calculator").Page("Math Calculator") obj.Link("Numbers").Click If obj.Link("Simple Interest").Exist(30) Then obj.Link("Simple Interest").Click Else Print "Link NOT Available" End IF
方法 3 – 等待
等待是一个硬编码的同步点,它等待独立于事件发生与否。因此,不鼓励使用 Wait,它可以用于较短的等待时间,例如 1 或 2 秒。
' Method 3 : Wait Timeout - 30 Seconds Dim obj Set obj = Browser("Math Calculator").Page("Math Calculator") obj.Link("Numbers").Click wait(30) Browser("Math Calculator").Page("Math Calculator").Link("Simple Interest").Click
方法 4 – 同步方法
同步方法只能用于页面加载之间始终存在延迟的 Web 应用程序。
' Method 4 : Dim obj Set obj = Browser("Math Calculator").Page("Math Calculator") obj.Link("Numbers").Click Browser("Math Calculator").Sync Browser("Math Calculator").Page("Math Calculator").Link("Simple Interest").Click
方法 5 – 插入 QTP 内置同步点
步骤 1 – 进入录制模式。如果用户未处于录制模式,则此选项将被禁用。
第 2 步– 转到“设计”→“同步点”。
第 3 步– 我们需要选择我们想要成为同步点的对象。选择对象后,对象窗口打开,如下所示 –
步骤 4 – 单击确定;“添加同步窗口”打开。选择属性、值和超时值,然后单击确定,如下所示 –
第 5 步– 将生成如下所示的脚本,这与我们已经讨论过的 WaitProperty(方法 1)相同 –
Browser("Math Calculator").Page("Math Calculator").Link("Numbers").Click Browser("Math Calculator").Page("Math Calculator").Link("Simple Interest").WaitProperty "text", "Simple Interest", 10000
默认同步
当用户没有使用上述任何一种同步方法时,QTP 仍然有一个内置的对象同步超时,可以由用户调整。
导航到“文件”>>“设置”>>运行选项卡>>对象同步超时,如下所示。