QTP - 同步

同步点是Tool和Application之间的时间接口.同步点是一项功能,用于指定测试脚本两个步骤之间的延迟时间.

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

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

插入同步点的方法

  • WaitProperty

  • 存在

  • 等待

  • 同步(仅适用于基于网络的应用)

  • 插入QTP内置同步点.

我们说,我们需要在点击"数字"链接和点击"简单利息"计算器之间插入一个同步点 www.easycalculation.com ".现在我们来看看为上述场景插入同步点的所有五种方法.

方法1 :  WaitProperty

WaitProperty是一种将属性名称,Value和Timeout值作为输入来执行同步的方法.这是一个动态的等待因此,鼓励这个选项.

' 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 : 等待

等待是一个硬编码的同步点,它等待事件发生或不发生.因此,不鼓励使用等待,并且可以用于更短的等待时间,例如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 Sync Point

第4步 : 单击确定;将打开"添加同步窗口".选择Property,Value和Time out值,然后单击OK,如下所示 :

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具有内置的对象同步超时,可以由用户调整.

导航到"文件"&gt ;> "设置">>运行标签>>对象同步超时如下所示.

默认同步超时