QTP-同步


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

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

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

插入同步点的方法

  • 等待属性
  • 存在
  • 等待
  • 同步(仅适用于基于网络的应用程序)
  • 插入 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 是一种将超时值作为输入来执行同步的方法。同样,这是一个动态等待,因此鼓励这种选择。

' 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 - 我们需要选择我们想要作为同步点的对象。选择对象后,对象窗口打开,如下所示 -

QTP 同步点

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

QTP 同步点

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

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

默认同步超时