QTP - 同步

同步点是工具和被测应用程序之间的时间接口。同步点是指定测试脚本两个步骤之间延迟时间的功能。

例如,单击链接可能需要 1 秒、5 秒甚至 10 秒才能完全加载页面。这取决于各种因素,例如应用程序服务器响应时间、网络带宽和客户端系统功能。

如果时间发生变化,则脚本将失败,除非测试人员能够智能地处理这些时间差异。

插入同步点的方法

  • WaitProperty
  • Exist
  • Wait
  • Sync(仅适用于基于 Web 的应用程序)
  • 插入 QTP 内置同步点。

假设我们需要在"www.easycalculation.com"中单击"数字"链接和单击"简单利息"计算器之间插入一个同步点。现在我们将介绍在上述场景中插入同步点的所有五种方法。

方法 1 − WaitProperty

WaitProperty 是一种以属性名称、值和超时值作为输入来执行同步的方法。这是一个动态等待,因此,建议使用此选项。

' 方法 1 - WaitProperty 为 25 秒
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

Exist 是一种将 Timeout 值作为输入来执行同步的方法。同样,这是一个动态等待,因此,建议使用此选项。

' 方法 2:Exist 超时 - 30 秒
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

Wait 是一个硬编码的同步点,无论事件是否发生,它都会等待。因此,不鼓励使用 Wait,可以使用较短的等待时间,例如 1 或 2 秒。

' 方法 3:等待超时 - 30 秒
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 − Sync 方法

Sync 方法只能用于页面加载之间始终存在滞后的 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 − 我们需要选择要作为同步点的对象。选择对象后,将打开对象窗口,如下所示 −

QTP 同步点

步骤 4 − 单击"确定";将打开"添加同步窗口"。选择属性、值和超时值,然后单击"确定",如下所示 −

QTP Sync Point

步骤 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 仍然具有内置的对象同步超时,用户可以调整该超时。

导航至"文件">> "设置">> 运行选项卡>> 对象同步超时,如下所示。

默认同步超时