• QTP场景恢复详解


          自动化测试的优点在于快速、可靠、可重复、可重用、无疲劳,是对繁重的手工测试的一次解放,适用于回归测试。自动化还有一个特点是无人值守,测试人员要做的是通过看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

     

      点击下一步,将add another recovery operations选项取消。

     

      4、设置脚本恢复运行时的操作,这里处理下一个Action或者组件中的下一个迭代。

     

      到这里,这个调用函数的场景恢复设置就基本完成了,下一步是给场景恢复取名并保存。

     

      可以选择将新建的场景恢复添加到当前的TEST或者将其视为默认设置。

      5、关联场景恢复文件

      在file>setting>recovery选项中,可以选择添加或者删除场景设置,就跟resources中国添加关联函数是一个道理。

     

      在test setting里可以看到我们新建的场景设置已经与当前TEST关联。

      二、运行

      批量运行脚本实验场景恢复的作用。

     

      在前面的脚本执行出错时不影响下一个脚本的执行,也即是场景恢复起到了作用,如果没有这个设置,我们批量运行脚本时就会中断在出错的位置,没有起到自动化应有的作用。我们来看一下运行的报告。

     

      SKIP ITERATION,我们设置的恢复操作,执行下一个迭代.

     

  • 相关阅读:
    菜鸟运维笔记:安装MySQL,PHP及phpMyAdmin
    在MyEclipse中统计项目行数
    工作已定,望悉
    经常使用算法之贪心
    leetcode
    程序猿的量化交易之路(20)--Cointrader之Assert实体(8)
    【MySQL】 查询某个数据库有多少张数据表
    【powerdesigner】将pdm或者cdm保存为普通图片格式
    【web maven】新建的项目 controller也有,从前台跳转后台 无法找到对应的controller
    【Java 新建项目】使用程序对新项目的各个实体 创建Dao、DaoImpl、Service、ServiceImpl层的文件
  • 原文地址:https://www.cnblogs.com/erhu/p/2453690.html
Copyright © 2020-2023  润新知