51Testing软件测试论坛

标题: (无人职守状态)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
原帖由 zte_boy 于 2008-7-1 10:15 发表
三种方式:
1、全局错误处理机制
2、场景恢复机制
3、VBS错误处理机制

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

能否具体的说一下,具体改怎么实现,或是给个示例也行,谢谢了
作者: 陈能技    时间: 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关联在一起。
作者: allanhtt    时间: 2008-10-9 16:31
原帖由 zte_boy 于 2008-7-1 10:15 发表
三种方式:
1、全局错误处理机制
2、场景恢复机制
3、VBS错误处理机制

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


大哥啊~~怎么不说具体点啊~~我只知道用recovery scenario wizard 向导设置,然后就是用楼上 朋友的VBS文件,另外2中方法就不得而知了,还望大哥您指点下啊~~谢谢




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2