QTP - 同步



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

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

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

插入同步点的方法

  • WaitProperty
  • Exist
  • Wait
  • Sync(仅适用于基于 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

Exist 是一种方法,它以超时值作为输入来执行同步。同样,它是一种动态等待,因此建议使用此选项。

' 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

Wait 是一个硬编码的同步点,它独立于事件是否发生而等待。因此,不建议使用 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 - 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 Sync Point

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

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

Default Synchronization Time Out
广告