自动化测试的优点在于快速、可靠、可重复、可重用、无疲劳,是对繁重的手工测试的一次解放,适用于回归测试。自动化还有一个特点是无人值守,测试人员要做的是通过看
REPORT
ER来判断系统是否存在缺陷。当然,脚本执行的过程中或多或少会出现ERROR,由于无人值守的特点,接下来的脚本就会不能运行,这也是为什么在自动化脚本中弹出框要用POP函数的原因。QTP提供的场景恢复可以解决这个问题,我将自己学习实践的过程与大家分享,有不合适的地方请大家指正。
场景恢复可以看做一种嵌入式机制,是QTP脚本的一个可安装可拆卸零部件,这个零部件的作用就是在机器出现的问题的时候根据我们的指示执行指定的命令,记录案发现场,等脚本跑完的时候递出报告,供我们分析。我们来看看怎么制造这个零件,我分享一个出错时调用函数截图的场景恢复。我使用的版本是QTP10.00
一、设置
1、新建Recovery Scenario
首先我们打开Resouces--Recovery Scenario Manager窗口。
点击新建场景恢复图标,开始新建一个Recovery Scenario。
2、选择触发方式
场景恢复机制提供了四种类型的触发事件,分别用来识别:弹出对话框、对象的特殊属性值、运行错误、应用程序失败。我这里选择Test run error触发方式。
Error选择Any error,这样出现任何错误都能触发恢复场景。
3、设置恢复时操作,这里我们选择调用函数。
点击下一步,选择编辑好的函数,我的恢复操作函数如下,函数的作用是将出错页面截屏打印到REPORTER。
Function RecoveryFunction1(Object, Method, Arguments, retVal) Dim datestamp,filename,ResPath ResPath = Environment("ResultDir") datestamp = Now() filename = Environment("TestName")&"_"&datestamp&".png" filename = Replace(filename,"/","") filename = Replace(filename,":","") filename = ResPath + "\" + ""&filename Desktop.CaptureBitmap filename,True Reporter.ReportEvent micFail,"场景恢复","报错截屏",filename End Function |