Qtp 简明教程
QTP - Synchronization
同步点是待测试工具和应用程序之间的时序接口。同步点是一项用于指定测试脚本的两个步骤之间延迟时间的特性。
例如,单击一个链接可能在 1 秒内加载页面,有时候需要 5 秒,甚至可能需要 10 秒才能完全加载。这取决于各种因素,例如应用程序服务器响应时间、网络带宽和客户端系统功能。
如果时间不一致,则脚本将失败,除非测试人员智能地处理这些时间差异。
Ways to Insert Sync Point
-
WaitProperty
-
Exist
-
Wait
-
Sync(仅适用于基于 Web 的应用)
-
插入 QTP 固有的一致性点
假设我们在 “@{}” 中单击“数字”链接和单击“简单利息”计算器之间需要插入一个同步点。对于上述场景,我们将研究插入同步点的五种方式。
Method 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
Method 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
Method 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
Method 4 − Sync Method
同步方法仅可用于页面加载之间始终存在延迟的 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
Method 5 − Inserting QTP Inbuilt Synchronization points
@{}− 进入记录模式。如果用户不在记录模式内,此选项将被禁用。
@{}− 转到“设计”→“同步点”。
@{}− 我们需要选择要作为同步点的对象。在选择该对象后,会像下面所示打开一个对象窗口 −
@{}− 单击“确定”,将打开“添加同步窗口”。选择“属性”、“值”和“超时”值,然后单击“确定”,如以下所示 −
@{}− 会生成如下图所示的脚本,它与我们之前讨论过的 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