【软件测试自动化-QTP系列讲座 38】== 自定义场景恢复RecoveryFunction ==

Recovery Scenario 相信大家一定已经很熟悉了,通常在出现一些异常的情况下,比如: 弹出框,被测程序crash了,等等,遇到此类问题我们可以在QTP中加载相应的场景恢复机制,这样当错误发生的时候QTP会自动激活它来进行测试场景的恢复,从而继续测试的进行,而不至于让脚本卡着一直到超时失败。因此RS在自动化测试中的地位可见是非常的重要的.

今天主要来讲一下场景恢复的自定义函数RecoveryFunction,主要这个函数在QTP帮助文档中没有任何的信息来指导我们具体应该怎么做,因此本文就来简明的概述下。如图:我们设置场景恢复过程中设置为当出现任何错误即触发自定义函数。

【软件测试自动化-QTP系列讲座 38】== 自定义场景恢复RecoveryFunction ==

当QTP脚本一旦发生错误(除了VBS本身的错误)后就会激活此函数并执行它。

接下来我们来详细分析下此函数的四个参数:


  • Object ---- 发生错误时自动映射当前错误的QTP封装测试对象

用法:msgbox Object.GetTOProperty("testObjName")

结果:输出对象库中的LogicName

TestObjName为隐藏属性


  • Method ---- 发生错误时自动映射当前错误的QTP测试对象方法

用法:msgbox Method

结果:输出测试对象的方法


  • Arguments ---- 发生错误时自动映射当前错误的所有参数

用法:msgbox join(Arguments,",")

结果:输出所有参数,以逗号分隔

注意:由于Arguments是一个数组,因此这里直接使用join进行连接数组。

  • retVal ---- 发生错误时自动映射当前错误的具体错误信息

用法: msgbox DescribeResult(Result)

结果: 输出详细错误信息

注意: retVal是Long类型的,不可直接输出,必须要使用DescribeResult方法来进行转化。


总结:

场景恢复的自定义函数在框架设计中的错误处理机制模块中是非常常用的,因此希望大家能够熟练的掌握它并应用到自己的框架中。以下就是自己框架的报告引擎中用飞机订票的例子。



你可能感兴趣的:(框架,软件测试,脚本)