在腳本運行過程中,可能會出現一些非預期的事件、錯誤、程序崩潰等情況,阻止腳本繼續執行下去,測試腳本可能會一直暫停執行直到某些界面操作被執行才能恢復。
為了處理這類型的錯誤,QTP通過創建Recovery Scenarios,并關聯到某個測試腳本?梢园堰@些定義的Recovery Scenarios稱為恢復場景,這些恢復場景會被相應的事件觸發而執行。
Recovery Scenarios的設計目的是用于處理那些不可預見的事件,例如,可以定義一個Recovery Scenario用于處理打印錯誤,這樣當運行腳本過程中打印機出現錯誤時,Recovery Scenario就會指導QTP執行某個操作,例如單擊打印錯誤提示框的默認按鈕。對于那些可預見的錯誤,則應該使用IF語句在腳本中處理,而不要依賴Recovery Scenario。
在QTP中使用Dictionary對象
VBScript的Dictionary 對象與PERL的關聯數組(associative array)類似,其中存儲的內容可以是任何數據,每一個存儲的數據都與一個唯一的鍵(Key)關聯,鍵用于獲取每一項數據,鍵通常是整型或字符串類型。
在QTP中,可以把Dictionary 當成數組來用,而且可以隨時添加數據,而不需要預先定義大小。下面是一個使用的例子:
' 創建Dictionary對象
Set Dic = CreateObject("Scripting.Dictionary")
' 添加Dictionary的key和value
For Iterator = 1 To 3 Step 1
Dic.Add CStr(Iterator),Iterator & "_Value"
Next
' 循環讀取Dictionary的key和value
For Iterator = 1 To Dic.Count Step 1
Msgbox Dic.Item(CStr(Iterator))
Next
DicArray = Dic.Items
'For I = 0 To Dic.Count
For I = 0 To UBound(DicArray)
Msgbox DicArray(I)
Next
' 判斷是否存在某個Key,如果存在,則把其去掉
If Dic.Exists("2") Then
Msgbox Dic.Item("2")
Dic.Remove("2")
End If
Msgbox Dic.Count
' 清空所有 Key和Value
Dic.RemoveAll()
Msgbox Dic.Count
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/