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
廣告