Qtp 简明教程
QTP - Error Handling
在 QTP 中处理错误有多种方法。在使用 QTP 时,可能遇到三种可能的错误类型:
-
Syntax Errors
-
Logical Errors
-
Run Time Errors
Error Types
Syntax Errors
语法错误是与 VBScript 语言语法不符的错误或代码片段。语法错误发生在代码编译时,在这些错误得到修复之前无法执行。
若要验证语法,可以使用键盘快捷键 Ctrl+F7,结果显示在下边。如果窗口未显示,则可以导航至“视图”→“错误”。
Handling Run-Time Errors
处理代码中错误有多种方法。
1. Using Test Settings - 可以通过导航至“文件”>>“设置”>>“运行”选项卡来在测试设置中定义错误处置,如下所示。我们可以选择任何指定设置,然后单击“确定”。
2. Using On Error Statement - 测试者可以将“On Error”语句用于通知 VBScript 引擎其打算处理运行时错误,而不是允许 VBScript 引擎显示用户不友好的错误消息。
-
On Error Resume Next - On Error Resume Next 会通知 VBScript 引擎当遇到错误时处理执行下一行代码。
-
On error Goto 0 - 这有助于测试人员关闭错误处理。
3. Using Err Object - 错误对象是 VBScript 内的一个内置对象,可以捕获我们能够方便调试代码的运行时错误编号和错误描述。
-
Err.Number - Number 属性返回或设置一个指定错误的数字值。如果 Err.Number 值为 0,则表示未发生错误。
-
Err.Description - Description 属性返回或设置一个关于错误的简要描述。
-
Err.Clear - Clear 方法会重置错误对象,并清除与其关联的所有先前值。
Example
'Call the function to Add two Numbers Call Addition(num1,num2)
Function Addition(a,b)
On error resume next
If NOT IsNumeric(a) or IsNumeric(b) Then
Print "Error number is " & err.number & " and description is :
" & err.description
Err.Clear
Exit Function
End If
Addition = a+b
'disables error handling
On Error Goto 0
End function
4. Using Exit Statement − Exit 语句可以与 Err 对象结合使用,以基于 Err.Number 值退出测试、操作或迭代。让我们详细了解每个 Exit 语句。
-
ExitTest − 不管运行时迭代设置是什么,退出整个 QTP 测试。
-
ExitAction − 退出当前操作。
-
ExitActionIteration − 退出操作的当前迭代。
-
ExitTestIteration − 退出 QTP 测试的当前迭代,并继续执行下一个迭代。
5. Recovery Scenarios − 遇到错误时,基于特定条件触发恢复场景,并在单独的章节中详细介绍。
6. Reporter Object − Reporter 对象帮助我们将事件报告给运行结果。它帮助我们识别相关的操作/步骤是通过/失败。
'Syntax: Reporter.ReportEventEventStatus, ReportStepName, Details,
[ImageFilePath]
'Example
Reporter.ReportEvent micFail, "Login", "User is unable to Login."