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

  • 相关阅读:
    RE
    【LeetCode】198. House Robber
    【LeetCode】053. Maximum Subarray
    【LeetCode】152. Maximum Product Subarray
    【LeetCode】238.Product of Array Except Self
    【LeetCode】042 Trapping Rain Water
    【LeetCode】011 Container With Most Water
    【LeetCode】004. Median of Two Sorted Arrays
    【LeetCode】454 4Sum II
    【LeetCode】259 3Sum Smaller
  • 原文地址:https://www.cnblogs.com/heygirl/p/4968482.html
Copyright © 2020-2023  润新知