在脚本运行过程中,可能会出现一些非预期的事件、错误、程序崩溃等情况,阻止脚本继续执行下去,测试脚本可能会一直暂停执行直到某些界面操作被执行才能恢复。
为了处理这类型的错误,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
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/