博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Recovery Scenario以及错误处理优先级

Posted on 2009-03-24 16:39  Testing of S小调  阅读(207)  评论(0)    收藏  举报

应用于预防非可预知错误的发生,如果是可预知的,最好用if语句或其他方法。

首先要注意:设置Recovery 的触发条件是any error
由以下情况是不触发的
1)
当这个对象不在对象库时,运行出错,不触发Recovery
2)
当这个对象存在对象库时,修改运行脚本对象名,使它运行出错,不触发Recovery

 

错误处理优先级:

原则:

· 错误恢复场景中的错误处理优先级最高 (Recovery Operation)

· On Error Resume Next 优先级次之

· 错误恢复场景中的后处理方式优先级别再次之 (Post-Recovery Test Run Options)

· 缺省错误响应优先级别最低(On Error Goto 0)

 

请看如下代码:(前提条件,已经设置recovery scenario,触发条件是any error,处理方式是关闭机票定制程序进程,后处理方式是stop run test

 

Dialog("Login").WinEdit("Agent Name:").Set "hhhh"

Dialog("Login").WinEdit("Agent Name:").Type micTab

Dialog("Login").WinEdit("Password:").SetSecure "48f410a62621aa81b7a8452472dac4d130ba9988"

Dialog("Login").WinEdit("Password:").Type micReturn

On error resume next    

Dim i

Window("Flight Reservation").WinButton("FLIGHT").Click   ‘winbuttondisable无法识别产生错误,On error resume next比错误场景的后处理方式优先级高,所以没有stop run test

Msgbox "1 " & Err.Number & " " & Err.Description

On Error Goto 0      '缺省错误处理

Msgbox "3 " & Err.Number & " " & Err.Description

i = 1/0    ‘缺省响应

Msgbox "2 " & Err.Number & " " & Err.Description