VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的出错设置。lr_continue_on_error函数语法结构如下:

Loadrunner在运行过程当中, 脚本运行出现错误默认条件下就会中止运行, 但是有时候我们希望出错了之后剩下的脚本还想继续运行.Loadrunner作为一个重量级的性能测试工具, 它已经把很多的功能封装好了, 可以直接使用.

Run-time Settings - Miscellaneous - Error Handling - Continue on error, 勾选, 即可实现出现错误之后剩余代码继续运行. 够简单, 够粗暴.

显然,无论是否勾选Continue on error项,对于一些在Controller中运行的脚本都可能存在问题:

勾选后,将会忽略所有函数的执行错误,即使一些关键业务函数执行发生错误也会忽略掉,而遇到这种情况时继续运行场景显然已经没有意义;

如果不勾选,一些无关紧要的函数执行时如果发生错误将导致当前Vuser停止运行,而当较多Vuser因为小错误而停止执行后同样会导致整个场景的运行结果失去意义,显然这种情况也不应该发生。

VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的出错设置。lr_continue_on_error函数语法结构如下:

lr_continue_on_error(value);

value是是脚本运行出错设置的取值,具体取值如下所示。在使用下表参数时,既可以使用常量名称作为参数,也可直接使用对应常量值作为参数。

lr_continue_on_error调用后将对其后面所有的语句产生影响。因此,脚本中较常用的是lr_continue_on_error (0)与lr_continue_on_error (1)。这两个语句成对出现,期间包含着需要设置为发生错误停止执行的关键业务脚本,如下图所示。

可以看出,下图比较适合压力较大且在夜间自动运行的测试场景,而这类场景通常会在Run-time Settings中开启Continue on error选项,因此需要通过lr_continue_on_error (0) 关闭Continue on error选项,使一些关键业务发生错误停止执行。对于一些非关键业务,则需要通过lr_continue_on_error (1)开启Continue on error选项,这样即使遇到错误也不会影响脚本的继续执行。

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)来使一些非关键业务发生错误后继续执行。

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

发生错误结束当前用户

LoadRunner运行时异常处理的更多相关文章

  1. loadrunner运行时设置中清空缓存方法

    用函数web_cache_clearup()或run-time settings---browser emulation 把clear  cache on each iteration打勾 W v\] ...

  2. RTTI 运行时类型识别 及异常处理

    RTTI   运行时类型识别 typeid  ------  dynamic_cast dynamic_cast 注意事项: 1.只能应用于指针和引用之间的转化 2.要转换的类型中必须包含虚函数 3. ...

  3. LoadRunner 学习笔记(2)VuGen运行时设置Run-Time Setting

    定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项

  4. LoadRunner如何在脚本运行时修改log设置选项

    LoadRunner如何在脚本运行时修改log设置选项?答案是使用lr_set_debug_message函数: lr_set_debug_message Sets the message level ...

  5. 牛客网Java刷题知识点之什么是异常、异常处理的原理是什么、为什么要使用异常、异常体系、运行时异常、普通异常、自定义异常、异常链

    不多说,直接上干货! 在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因素,这就是所谓的智者千虑必有一失.同样的道理,计算机的世界也是不完美的,异常情况随时都会发 ...

  6. Java异常处理-----非运行时异常(受检异常)

    非运行时异常(受检异常) 如果出现了非运行时异常必须进行处理throw或者try{}catch(){}处理,否则编译器报错. 1:IOException 使用要导入包import java.io.IO ...

  7. Java异常处理-----运行时异常(RuntimeException)

    RuntimeException RunntimeException的子类: ClassCastException 多态中,可以使用Instanceof 判断,进行规避 ArithmeticExcep ...

  8. loadrunner 运行场景-运行时设置

    运行场景-运行时设置 by:授客 QQ:1033553122 A.   查看.修改单个脚本的运行时设置 a)   途径1: Scenario Groups.Scenario Groups Script ...

  9. 探究JVM——运行时数据区

    最近在读<深入理解Java虚拟机>,收获颇丰,记录一下,部分内容摘自原书. Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以 ...

随机推荐

  1. xml_dom解析

    DOM解析(一) 采用dom解析,会将xml文档全部载入到内存当中,然后将xml文档中的所有内容转换为tree上的节点(对象). 优点: 可以随机解析 可以修改文件 可以创建xml文件 缺点: 适合解 ...

  2. 基于nginx与Tomcat实现负载均衡

    server1:192.168.200.113(nginx服务端) server2:192.168.200.111(Tomcat服务端) server1中nginx的配置文件 nginx.conf h ...

  3. C++中写文件ofstream 的<< 操作符 与C风格的fwrite 的笔记

    在某次工作中,调用了某SDK接口,该接口通过一个回调函数返回需要的内容.我们需要的内容是H.264码流,该码流通过一个unsigned char* 变量带回,另外还有一个长度 int length.为 ...

  4. 屏蔽iOS升级方法

    1.iPhone或者iPad使用safari浏览器打开http://d.updater.i4.cn/i4tools7/temp/tvos.mobileconfig 2.点击[允许] 3.进入[通用]- ...

  5. Angular2 父子组件通信方式

    https://www.jb51.net/article/133868.htm 这次给大家带来Angular2 父子组件通信方式,使用Angular2 父子组件通信方式的注意事项有哪些,下面就是实战案 ...

  6. 快速排序c代码

    //快速排序,通过测试 #include "stdio.h" void quickSort(int* data,int len){ ) return; ; ; ]; while(s ...

  7. ubuntu+tomcat+jenkins+git+maven

    1.下载tomcat.jdk和jenkins.war (下面通过wget下载的jdk-8u231-linux-x64.tar.gz不能用,需要本地下载后上传到服务器)解决Linux上解压jdk报错gz ...

  8. layer 1.8.5 引用样式失效

    在layer.min.js里,默认引用的官网的样式,目前,网址失效.所以使用本地的样式即可. 将e后面的网址去除,即使用本地的样式.

  9. Java多线程和并发(四),线程返回值获取方式和Callable接口

    目录 1.主线程等待法 2.使用Thread类的join()阻塞当前线程,等待子线程执行完毕 3.通过Callable接口实现:通过FutureTask Or线程池获取 四.线程返回值获取方式和Cal ...

  10. Hibernate持久化类规则

    注意事项: 提供无参的构造方法,因为在hibernate需要使用反射生成类的实例 提供私有属性,并对这些属性提供公共的setting和getting方法,因为在hibernate底层会将查询到的数据进 ...