QTP 场景恢复– 函数调用
创建自动化测试是为了实现无人值守下运行,但也给开发人员带来一些问题。假如你离开办公室前启动测试,想要让它通宵运行。然而,由于不可预见的错误,您的测试会在某一点停止,中断了测试结果。因此QTP中引入场景恢复方案。测试运行错误"列表或菜单中找不到选项",可参考以下场景恢复方案。
Function fnRecovery(Object, Method, Arguments, retVal)
'Error Handling Code
End Function
Object as Object: The object of the current step. '当前步骤的对象
Method as String: The method of the current step. '当前步骤的方法
Arguments as Array: The actual method's arguments. '方法的实参
Result as Integer: The actual method's result. '方法的实际结果
我们使用以下函数处理报错场景:
Function Recovery_ListItemIsNotFound(Object, Method, Arguments, retVal)
Dim sAllItems, arrAllItems, intItem With Object
'Retrieve all items from the Listbox
sAllItems = .GetROProperty("all items")
'Split 'all items' using a delimiter ";" into an array
arrAllItems = Split(sAllItems, ";") 'Select a random number
intItem = RandomNumber.Value(LBound(arrAllItems), UBound(arrAllItems))
.Select "#" & intItem Reporter.ReportEvent micInfo, "ListItemIsNotFound", "Item: " & .GetROProperty("value")
End With
End Function
Recovery_ListItemIsNotFound,顾名思议,如果WebList对象中不存在列表项,执行恢复操作。这中从错误在Web应用程序中是很常见的,WebList中的项往往随输入而更改。
在窗口中,点击下面的按钮,可以调用场景恢复向导:
场景恢复向导 - 欢迎界面
当上面的界面打开后:
- 点击 Next
- 选择 Test Run Error 做为触发事件
- 点击 Next
- 选择‘Test Run Error: Item in list or menu not found in the Error Listbox
- 点击 Next -> Next ,导航到 恢复操作(Recovery Operation)界面
- 选择 Function Call ,点击 Next
- 选择恢复操作函数的存储库.
- 选择 'Define New Function',在编辑区粘贴Recovery_ListItemIsNotFound 函数;若所选库中已存在函数,可选择'Select function',并在下拉框中选择函数
定义新函数
- 点击 Next,回到'Recovery Operations'页面
- 确保'Add Another Recovery Scenario'多选框未被选中,点击 Next.
- Under Post-Recovery Test Run Options, select proceed to next step.更多选项详解参考http://www.cnblogs.com/sylvia-liu/p/3706287.html
- 给场景命名,Click Next
- 最后, 检查选项: Add Scenario to current test,点击 Finish.保存并关闭。【补充:将该场景恢复方案应用于其他测试,File->setting->Recovery,选择场景方案】
我们将在下面的 WebList中选择一个不存在的值;以下为源代码。查看列表下拉项,你会发现"Rational Robot"实际不存在,当我们选择它时,恢复方案将处理该错误-即从列表中选择一个随机值
QuickTest Pro
LoadRunner
Functional Tester
Selenium
Browser("title:=.*Recovery Scenario.*").Page("micclass:=Page")_
|
当执行上面这段代码时,你会发现不再抛出测试错误而是选中列表中的一个随机值.场景恢复方案被触发并成功执行后将出现下面的结果:
场景恢复执行记录
此外,还有很多其他场景,我会不断整理补充一些重要场景.
翻译自http://relevantcodes.com/recovery-scenario-test-run-error-item-in-list-or-menu-not-found/ ,若有错误部分,大家积极留言共同纠正
QTP 场景恢复– 函数调用的更多相关文章
- QTP场景恢复函数
public Function RecoveryFunction1(Object, Method, Arguments, retVal) Dim FileName ,TimeNow, ResPath ...
- QTP场景恢复之用例失败自动截图
以下代码是在QC里运行QTP来执行脚本过程,当执行过程中发现用例失败后就会自动截图,然后把用例返回到最初始的状态,模拟了场景恢复的机制 Class QCImageErrorCapture Dim qt ...
- testng实现场景恢复
自动化测试过程中存在很多的不稳定性,例如网络的不稳定,浏览器无响应等等,这些失败往往并不是产品中的错误.那么这时我们需要对执行失败的场景恢复重新执行,确认其是否确实失败. 以前使用QTP的时候也使用了 ...
- UFT场景恢复
场景恢复: 在脚本运行中可能会出现一些非预期事件.错误.程序崩溃等情况,阻止脚本继续执行下去,在此情况下脚本可能暂停执行, 直到某些界面被操作之后才会继续执行下去,为了处理这一类事件因此存在场景恢复. ...
- Oracle丢失重做日志的几种场景恢复
实验环境:RHEL6.4 + Oracle 11.2.0.4 一.丢失重做日志组中成员 1.1 故障模拟 1.2 处理方法 1.3 实际处理过程 二.丢失重做日志组 2.1 丢失INACTIVE重做日 ...
- 实验Oracle数据文件被误删除的场景恢复
环境:RHEL 5.4 + Oracle 11.2.0.3 背景:数据库没有备份,数据库文件被误操作rm,此时数据库尚未关闭,也就是对应句柄存在,如何快速恢复? 1.某个普通数据文件被删除 2.所有数 ...
- oracle rm -fr datafile 数据文件被误删的场景恢复(没有rman备份)
环境: Linux release 7.5 oracle19c (无pdb,从11.2.0.4升级上去的) 一:单个非系统表空间的数据文件被删除 我先备份一下,虽然是测试环境. [oracle@19c ...
- 自动化测试工具QTP和SilkTest横向PK(转)
转自:http://www.uml.org.cn/Test/201405212.asp?artid=1686 众所周知,自动化测试工具曾几何时三足鼎立,Mercury QTP/WinRunner系.I ...
- QTP基础学习(一)安装目录介绍
上一篇介绍了QTP 10 安装,安装完成后就可以看到文件的目录了,这里主要介绍以下几个目录及作用. 简单介绍部分目录 1.addins:插件包 2.bin目录:可执行程序,这里存储了很多配置文件.运行 ...
随机推荐
- html body标签的几个属性 禁用鼠标右键,禁用鼠标选中文字等
<body oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' onsel ...
- for name in loop Shell
for NAME in joe jane juliedoADDRESS="$NAME@example.com"MESSAGE='Projects are due today!'ec ...
- c++中字符串处理函数
c++11中提供了to_string函数,定义在string中, 重载了一大片, std::string to_string( int value ); () (since C++) std::str ...
- 黄聪:Mysql数据库还原备份提示MySQL server has gone away 的解决方法(备份文件数据过大)
使用mysql做数据库还原的时候,由于有些数据很大,会出现这样的错误:The MySQL Server returned this Error:MySQL Error Nr. MySQL server ...
- SDS查看部署在集成TOMCAT服务器中的项目目录结构
- WebAPI 安全性 使用TOKEN+签名验证(上)
首先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候,会面临着许多的安全性问题, ...
- onclick事件对动态参数类型为字符串的处理
onclick="solveRow("'+row.isbesolve+'")"
- OAF_OAF Debug And Log调试和记录工具的详解(案例)
2014-06-16 Created By BaoXinjian
- 关于htmlspecialchars实体字符转码的问题
php对post过来的数据进行实体字符转码,我的页面编码是gb2312,刚开始是这样: $post = htmlspecialchars ( $post); 取到的$post值为空,但是有时候是好的( ...
- linux挂载U盘(转载)
一.Linux挂载U盘:1.插入u盘到计算机,如果目前只插入了一个u盘而且你的硬盘不是scsi的硬盘接口的话,那它的硬件名称为:sda1.2.在mnt目录下先建立一个usb的目录(如:[root@lo ...