QTP LR JSP ORACLE

错误处理在Action和Function之间的关系

上一篇 / 下一篇  2011-03-17 13:50:11 / 个人分类:QuickTestProfessional

     在QTP中,存在Action和Function Library,我本来以为这两者之间并没有什么不同,就和一般的编程语言中引入一个函数库一样。但是,在使用过程中我发现两者之间存在着一些差异,这让我很惊讶。在进行错误处理时,如果不能够清楚的了解这些差异,会让你产生很多迷惑。
     大致我总结了如下几条规则:
     1. Function Library不能调用Action中定义的函数;
     2. Function Library之间可以相互调用函数,Action可以调用Function Library中的函数;
     3. 当在一个函数中出现异常,异常的执行顺序为:
          a. 在函数内部是否存在On Error Resume Next,若存在,将忽略该异常继续执行;
          b. 当a.不成立,将在异常点结束函数,返回上一层函数,重复a.;
          c. Function Library中的异常不能传回Action中的调用函数,当传到所有Function Library函数的最顶层时,将按照QTP对异常处理的缺省设置进行处理。
     4. 用Executefile引入Action的函数以及用eval动态执行的函数,跟直接在Action中写的函数一样。

     根据以上几条规则,我做的测试案例需要在一个函数中循环调用每一个Case,当在一个Case中发生异常时,跳过该Case继续执行下面的Case。开始时,我将主循环写在Action中,很多操作的函数写在函数库中,这导致了在函数库中发生的异常直接接受全局错误处理,而不是将异常抛入Action中的外部调用函数。最后我的解决方法就是将所有操作都写到函数库中。在Action中只是调用一个入口函数,执行所有的测试。


TAG:

 

评分:0

我来说两句

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 71299
  • 日志数: 117
  • 图片数: 1
  • 文件数: 1
  • 建立时间: 2007-05-07
  • 更新时间: 2011-06-16

RSS订阅

Open Toolbar