LoadRunner错误处理函数
节选自《LoadRunner虚拟用户开发指南》
在脚本的Run-time Settings中,可以设置在脚本运行过程中发生错误的处理方式。进入到Run-time Settings中,切换到Miscellaneous标签页,可以看到Error Handing的第一个设置项:Continue on error,如图1-30所示。勾选Continue on error选项后,如果运行过程中发生错误,也会继续执行脚本。
图1-30 Miscellaneous标签项
显然,无论是否勾选Continue on error项,对于一些在Controller中运行的脚本都可能存在问题:勾选后,将会忽略所有函数的执行错误,即使一些关键业务函数执行发生错误也会忽略掉,而遇到这种情况时继续运行场景显然已经没有意义;如果不勾选,一些无关紧要的函数执行时如果发生错误将导致当前Vuser停止运行,而当较多Vuser因为小错误而停止执行后同样会导致整个场景的运行结果失去意义,显然这种情况也不应该发生。
VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的出错设置。lr_continue_on_error函数语法结构如下:
|
void lr_continue_on_error ( int value ); |
value是是脚本运行出错设置的取值,具体取值及相应值的含义如表1-7所示。在使用表1-7中的参数时,既可以使用常量名称作为参数,也可直接使用对应常量值作为参数。
表1-7
|
常量名称 |
常量值 |
含义 |
|
LR_ON_ERROR_NO_OPTIONS |
0 |
取消出错继续执行设置 |
|
LR_ON_ERROR_CONTINUE |
1 |
发生错误继续运行脚本 |
|
LR_ON_ERROR_SKIP_TO_NEXT_ACTION |
2 |
发生错误跳至下个Action运行 |
|
LR_ON_ERROR_SKIP_TO_NEXT_ITERATION |
3 |
发生错误跳至下一迭代来运行 |
|
LR_ON_ERROR_END_VUSER |
4 |
发生错误结束当前用户 |
lr_continue_on_error调用后将对其后面所有的语句产生影响。因此,脚本中较常用的是lr_continue_on_error (0)与lr_continue_on_error (1)。这两个语句成对出现,期间包含着需要设置为发生错误停止执行的关键业务脚本,如例1-71所示。
可以看出,例1-71比较适合压力较大且在夜间自动运行的测试场景,而这类场景通常会在Run-time Settings中开启Continue on error选项,因此需要通过lr_continue_on_error (0) 关闭Continue on error选项,使一些关键业务发生错误停止执行。对于一些非关键业务,则需要通过lr_continue_on_error (1)开启Continue on error选项,这样即使遇到错误也不会影响脚本的继续执行。
例1-71
|
Action() { …… …… lr_continue_on_error (0); //下面是一些重要事务代码,因此关闭出错继续执行设置 …… …… lr_continue_on_error(1); //后面是一些非关键事务代码,例如下载一些图片文件,因 //此开启出错继续执行参数设置。 …… …… return 0; } |
反之,如果在Run-time Settings中没有勾选Continue on error项,则应该通过组合使用lr_continue_on_error (1)与lr_continue_on_error (0)来使一些非关键业务发生错误后继续执行。
LoadRunner错误处理函数的更多相关文章
- 转 LoadRunner错误处理函数
在脚本的Run-time Settings中,可以设置在脚本运行过程中发生错误的处理方式.进入到Run-time Settings中,切换到Miscellaneous标签页,可以看到Error Han ...
- LoadRunner调用java函数测试oracle
LoadRunner调用java函数测试oracle 测试oracle的方法有很多,可以使用loadrunner的oracle协议直接调用oracle进行测试,也可以调用开发的java程序对oracl ...
- LoadRunner中常用函数参考手册
基础篇1:LoadRunner中常用函数参考手册 常用函数列表 web_url web_submmit_form VS web_submmit_data VS web_custom_request w ...
- PHP错误处理函数set_error_handler()的用法
定义和用法 set_error_handler() 函数设置用户自定义的错误处理函数. 该函数用于创建运行时期间的用户自己的错误处理方法. 该函数会返回旧的错误处理程序,若失败,则返回 null. 语 ...
- php 错误处理函数
eval() 把子符串当做php 代码执行 // 回调函数function a($b, $c) { echo $b; echo $c; } call_user_func_array('a', ar ...
- PHP 错误与异常 笔记与总结(8)自定义错误处理函数 set_error_handler()
通过 Set_error_handler() 函数设置用户自定义的错误处理函数. 步骤: ① 创建错误处理函数 ② 设置不同级别调用函数 ③ Set_error_handler() 函数制定接管错误处 ...
- LabVIEW的错误簇以及错误处理函数
我们可以在LabVIEW的Modern>>Array, Matrix & Cluster控件面板找到表示错误簇数据类型的错误输入(Error In)以及错误输出(Error Out ...
- 性能测试工具LoadRunner10-LR之Virtual User Generator 错误处理函数
VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的出错设置.lr_continue_on_error函数语法结构如下: void lr_contin ...
- PHP错误处理函数set_error_handler()的用法[转载]
定义和用法 set_error_handler() 函数设置用户自定义的错误处理函数. 该函数用于创建运行时期间的用户自己的错误处理方法. 该函数会返回旧的错误处理程序,若失败,则返回 null. 语 ...
随机推荐
- C# 多线程学习总结
C# 多线程学习总结 C#多线程学习(一) 多线程的相关概念 什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源.而一个进程又是由多个线程所组成的. ...
- [转]Adventures in Xen exploitation
Source:https://www.nccgroup.com/en/blog/2015/02/adventures-in-xen-exploitation/ tl;dr This post is ...
- [转]ARM/Thumb/Thumb-2
ref:http://kmittal82.wordpress.com/2012/02/17/armthumbthumb-2/ A few months ago I gave a presentatio ...
- DevExpress 学习使用之 NavBarControl
TNND,没辙啊,没用过那么高级的玩意儿,暂时也没找到中文的详细帮助,简直就是蚂蚁搬家似的摸索,一点儿点儿来吧. 先是NavBarControl的界面样子,貌似可以通过 PaintStyleKind ...
- ios学习之常见问题记录
使用Core Data的好处和缺点? 首先这是apple官方极力推荐的,使用它而不是SQLite.好处有大概这么几点:1.减少你model层的代码量,减少50%-70%.无需测试和优化.2.提供了内存 ...
- 电影管理器之XML存储电影信息数据
电影管理器之XML存储电影信息数据 但凡管理器之类的软件,存储数据是必不可少的.存储数据的话,有几种选择.一是用数据库,把数据存储到数据库里:一是用文本文件,把数据存储到文本文件里:一种是利用XML文 ...
- java对数据库的操作
package com.DateSystem; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLEx ...
- 用python写爬虫
Python提供了许多Module,通过这些Module,可以很简单的做一些工作.比如,要获得cloga这个词在百度搜索结果页中的排名结果(排名结果+URL),这就是一个很简单的爬虫需求. 首先,要通 ...
- Ext JS4百强应用: 用grid.plugin.CellEditing做高级查询 --第10强
Ext JS4,用grid.plugin.CellEditing做高级查询: 写了90%,界面出来了,小兴奋就贴出来,还有细节要调整,基本能用. 代码: Ext.define('chenghao.ad ...
- InvocationHandler中invoke()方法的调用问题
转InvocationHandler中invoke()方法的调用问题 Java中动态代理的实现,关键就是这两个东西:Proxy.InvocationHandler,下面从InvocationHandl ...