51Testing软件测试论坛

标题: [请教]有关异常恢复的处理 [打印本页]

作者: RandyTsai    时间: 2005-6-17 11:22
标题: [请教]有关异常恢复的处理
新建一个Popup的Recovery类型后,它每次只执行一次就自动变更"OFF"状态,下次异常就不处理了,请帮忙?。。。
此异常处理是调用一段处理函数,如下:
public function Forms_popup_handler (in window)
{
    static info;
        exception_off("Forms_popup");
        set_window("Forms", 10);
    obj_get_info("LWContainer_0","attached_text",info);
        button_press("确定");
    if(match(info,"ORA-")>0||match(info,"FRM-")>0)
     {
         tl_step("AUT Wrong",FAIL,info);
         exception_on("Forms_popup");
         texit;
      }
    exception_on("Forms_popup");
}

另外还有一个TSL类型的异常处理也是一样,调用的处理函数如下:
public function Editset_fail_handler(in rc)
{
  auto info,text;
  exception_off("edit_fail");
  if(info=="")
   {
    wait(3);
    set_window("平安寿险处理窗口", 1);
    statusbar_get_text("StatusBar[2]",0,text);
    tl_step("AUT wrong",FAIL,text);
    }
  else
   {
    report_msg(info);
    }
  exception_on("edit_fail");
  texit;
}
作者: shyfish    时间: 2005-6-17 18:44
不知道你为什么要用texit语句,这样不就会停止当前测试脚本的执行吗?可能是跟这个有关系吧
作者: RandyTsai    时间: 2005-6-20 08:25
因为处理完这个异常之后,我希望测试不再继续进行下去;而且我的exception_on("Forms_popup")语句是放在texit之前的,这个应该也没有问题吧?
作者: shyfish    时间: 2005-6-20 10:41
不知道你的exception定义和打开的脚本是怎样的,是放哪的,光从这两个exception函数倒是看不出来
对于popup window exception,一定要在window出现之前定义并打开exception,否则不会生效;因为你在每次出现exception之后就texit退出脚本运行,所以在texit之前的exception_on也就没意义了,因为你下次再次运行脚本的时候WR要重新初始化e各种状态的,还要重新定义并打开exception




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