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,我们设置的恢复操作,执行下一个迭代。

  这个是出错的截屏,这里我将密码设置错误触发了场景恢复。

  谢谢大家,有不正确的请指正。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-04 00:36:19

QTP场景恢复的实践和总结的相关文章

QTP中用于场景恢复的函数

在制作场景恢复的时候可以选择调用函数来解决,下面的函数就是为此写的.因为之前用的场景恢复只报错了,看报告后大概了解了Object.Method.Arguments.retVal等参数的意义,于是写了这个方法,一方面可以截图,另一方面可以在报告中看到哪个对象出问题了.因为我经常是通过公司的自动化平台调用测试案例,一般晚上或凌晨执行,第二天看结果,看结果的时候一般直接从QC打开报告查看,这样方便自己定位问题. 这个方法的作用我简单描述一下:首先是指定一个目录,然后检查是否从QC调用的(因为有时候自己

表格存储结合Elasticsearch进行搜索的场景分析和实践

表格存储结合Elasticsearch进行搜索的场景分析和实践 表格存储(TableStore)是什么 TableStore是一个构建在阿里云飞天分布式系统上的Nosql数据库服务,熟悉阿里云的同学肯定听说过飞天5K,飞天是一个可以管理5000台机器的分布式系统,TableStore作为构建在其上的一个Nosql数据库,可以承载海量(单表几百TB)的数据存储,同时数据有三份拷贝,数据安全性有极高的保证. TableStore的数据是以行进行组织的,每行包含多个主键列和多个属性列,主键列的列名和类

PostgreSQL 9.6 sharding + 单元化 (based on postgres_fdw) 最佳实践 - 通用水平分库场景设计与实践

PostgreSQL 9.6 sharding + 单元化 (based on postgres_fdw) 最佳实践 - 通用水平分库场景设计与实践 作者 digoal 日期 2016-10-05 标签 PostgreSQL , 9.6 , 水平分库 , sharding , 单元化 背景 20161004_01.md这篇文档讲解了PostgreSQL postgres_fdw的用法以及9.6的增强. 本文将以实践为主,定一个小目标,讲解一下如何使用postgres_fdw实现sharding.

HBase在滴滴出行的应用场景和最佳实践

背景 对接业务类型 HBase是建立在Hadoop生态之上的Database,源生对离线任务支持友好,又因为LSM树是一个优秀的高吞吐数据库结构,所以同时也对接了很多线上业务.在线业务对访问延迟敏感,并且访问趋向于随机,如订单.客服轨迹查询.离线业务通常是数仓的定时大批量处理任务,对一段时间内的数据进行处理并产出结果,对任务完成的时间要求不是非常敏感,并且处理逻辑复杂,如天级别报表.安全和用户行为分析.模型训练等. 数据类型 HBase在滴滴主要存放了以下四种数据类型: 1. 统计结果.报表类数

空格App亿元A轮融资背后:云上多场景技术架构实践与经验

直播视频: (点击图片观看) 幻灯片下载地址: https://oss.aliyuncs.com/yqfiles/382bc642fc0b621a9368138a74d8fd36.pdf 阿里云在空格   图一 空格服务端整体架构   在空格初始创业阶段,人员十分缺乏,但依靠着阿里云,空格两周便实现APP上线.空格服务端整体架构包括在线和离线两大部分.在线服务端的前端包括用户服务端集群.商家服务端集群和IM PUSH集群:在线服务端的后端由搜索/推荐引擎集群组成:架构底层的存储采用传统的MySQ

大咖直播第四期问答整理:空格App亿元A轮融资背后,云上多场景技术架构实践与经验

问答列表: 空格是如何在垂直业务上拆分架构的 im聊天内容 索引,安全吗?对用户 如果用户不想再使用app了,里面的数据怎么处理,来提高正在使用者的使用效率 数据库 sqlserver 阿里云 还没有读写分离业务 每个系统用了多少服务器? 请问你们怎么应对用户快速增长,开发团队在程序和服务器所做的优化措施 先把系统架构情况介绍一下吧,然后再讨论细节 往期回顾: 大咖直播第二期问答整理:游族李志勇讲解如何运维千台以上游戏云服务器 https://yq.aliyun.com/articles/791

ZooKeeper场景实践:(1)准备工作

ZooKeeper是一个高可用的分布式数据管理与系统协调框架.保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题. 有人认为ZooKeeper之于分布式的意义正如同lex/yacc之于编译的意义.我们知道lex/yacc是一套强大的语法编译工具.使用lex/yacc可以很轻松的完成许多语法规则的编写.同样道理,Zookeeper作为一个分布式的数据管理和协调框架,没有它依然可以做分布式,但是有了它,你的分布式会更轻松. 本系列文章主要是从学习的角度对

IOT 赋能旅行场景的实践与展望

2017杭州云栖大会移动技术实践专场上,飞猪旅行无线技术工程师拔赤带来IOT在旅行场景方面的实践演讲.本文主要从IOT场景化革命开始谈起,接着说及阿里云端 IOT 基础设施,着重说明了IOT在旅行行业的挑战以及应对挑战所做的实践,具体分享了自助入住&全屋智能技术和智能门锁原型设计实现,最后对未来进行了展望. 以下是精彩视频内容整理: 旅行场景是典型的O2O场景,线上定好行程,旅行过程当中有很多场景可以和当事人发生很多互动,除了定制旅行产品之外,在旅行过程当中还有很多好玩的东西等待我们发掘. IO

购物车恢复(ShoppingCartRecovery)的最佳实践

1 什么是购物车恢复(Shopping Cart Recovery)? 当顾客将若干产品加入购物车,甚至点击"结账/结算"按钮进入结账流程,在填写或选择相关的运输地址.运输方式.http://www.aliyun.com/zixun/aggregation/10694.html">支付方式等信息时中途放弃了结账,形成了购物车遗弃. 对于商家而言,这类已经最接近达成交易的机会给顾客放弃了是非常的可惜,而通过一些方法将顾客重新吸引回网站完成该次购物,被称之为:购物车恢复(S