查看完整版本: (无人职守状态)QTP执行脚本,如何跳过当前错误,记录错误并执行后续的脚本

xueboy118 2008-7-1 09:38

(无人职守状态)QTP执行脚本,如何跳过当前错误,记录错误并执行后续的脚本

前提条件:一个系统,有N多模块,使用QTP按照模块,或是按照软件的功能录制成N个单独可调用的脚本
问题:在无人职守的状态下,让QTP回放这些脚本,在回放的过程中,如果QTP遇到错误(如页面对象找不到或是别的错误),怎么处理,才能让QTP跳过当前错误,继续执行后续的脚本,并把当前的错误记录到报告中?

vickywang_no1 2008-7-1 10:00

顶,正想知道。

zte_boy 2008-7-1 10:15

三种方式:
1、全局错误处理机制
2、场景恢复机制
3、VBS错误处理机制

可以结合使用,具体用法,你可以自己去试下

xueboy118 2008-7-1 10:30

[quote]原帖由 [i]zte_boy[/i] 于 2008-7-1 10:15 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=1006695&ptid=119021][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
三种方式:
1、全局错误处理机制
2、场景恢复机制
3、VBS错误处理机制

可以结合使用,具体用法,你可以自己去试下 [/quote]
能否具体的说一下,具体改怎么实现,或是给个示例也行,谢谢了

陈能技 2008-7-1 14:32

可以用Recovery Scenarios来处理这种问题:
1、建立一个外部VBS文件,在里面编写下面的简单脚本
Public Function OnRunStep(ByRef Object, ByRef Method, ByRef Arguments, ByRef Result)
       ' ...
Reporter.ReportEvent micFail,"Page Not Found!","Page Not Found!"
End Function

或者也可以复杂一点,取决于你想在出现错误时如何处理了,例如下面的函数
Public Function OnPageNoFound(ByVal Object, ByVal Method, ByVal Arguments, ByVal Result)
  Desktop.CaptureBitmap "C:\PageOntFoundError.png",True
  If Browser("version:=inter.*").Exist = True then
    Msgbox Browser("Web Tours").GetROProperty("title")
    Msgbox Browser("Web Tours").GetROProperty("openurl")
    Else
        Msgbox "IE Browser Not Found!"
  End IF
End Function

2、然后在QTP中创建一个Recovery Scenarios,创建的方法参考QTP帮助文档,或者参考《QTP自动化测试实践》10.6节。

3、将Recovery Scenarios与Action关联在一起。
页: [1]
查看完整版本: (无人职守状态)QTP执行脚本,如何跳过当前错误,记录错误并执行后续的脚本