LoadRunner错误处理函数

上一篇 / 下一篇  2011-12-16 09:56:05 / 个人分类:LoadRunner

节选自《LoadRunner虚拟用户开发指南》

在脚本的Run-time Settings中,可以设置在脚本运行过程中发生错误的处理方式。进入到Run-time Settings中,切换到Miscellaneous标签页,可以看到Error Handing的第一个设置项:Continue on error,如1-30所示。勾选Continue on error选项后,如果运行过程中发生错误,也会继续执行脚本。

!z,a`g~ Wk0

 51Testing软件测试网4W2_PWG;\D8o

1-30Miscellaneous标签项51Testing软件测试网-B6s?2@9Hm

显然,无论是否勾选Continue on error项,对于一些在Controller中运行的脚本都可能存在问题:勾选后,将会忽略所有函数的执行错误,即使一些关键业务函数执行发生错误也会忽略掉,而遇到这种情况时继续运行场景显然已经没有意义;如果不勾选,一些无关紧要的函数执行时如果发生错误将导致当前Vuser停止运行,而当较多Vuser因为小错误而停止执行后同样会导致整个场景的运行结果失去意义,显然这种情况也不应该发生。

(d o~P.Dx0

VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的出错设置。lr_continue_on_error函数语法结构如下:51Testing软件测试网!k @K6Ml4hIlNah5m

voidlr_continue_on_error( intvalue);

W,S VBfX0\_.@A0

value是是脚本运行出错设置的取值,具体取值及相应值的含义如1-7所示。在使用1-7中的参数时,既可以使用常量名称作为参数,也可直接使用对应常量值作为参数。51Testing软件测试网\gh}|*R(Acr ?

1-751Testing软件测试网5NM%h CWj h

常量名称51Testing软件测试网j#I/S4\-f]v/O

常量值51Testing软件测试网j T(B#D1Elv

含义

s4r5e7J G |:?X-g0

LR_ON_ERROR_NO_OPTIONS51Testing软件测试网 VU#SY h~#Vgx)K

0

&Pfw#QzoF M_0

取消出错继续执行设置

3Y6Dy-V)S |+bV/@{0

LR_ON_ERROR_CONTINUE

T]P%Z*H?*p0

1

#K'NWaz~R0

发生错误继续运行脚本51Testing软件测试网~ ~ b!r Q Z

LR_ON_ERROR_SKIP_TO_NEXT_ACTION51Testing软件测试网(wSL%J:^ ~'GG(V;_4v

251Testing软件测试网5CTwoV9I~;O

发生错误跳至下个Action运行

Vz8Hd$q4V%W0

LR_ON_ERROR_SKIP_TO_NEXT_ITERATION51Testing软件测试网E$OvvV%Eo"F4}&T

3

#\8Iz3jHd,xJ\0

发生错误跳至下一迭代来运行

8wl.FD3o0][if#u.l6s0

LR_ON_ERROR_END_VUSER

lw%EZ4b l0

4

(fS a_'H$DS])e*[0

发生错误结束当前用户51Testing软件测试网Mh1n3W'Mq g

lr_continue_on_error调用后将对其后面所有的语句产生影响。因此,脚本中较常用的是lr_continue_on_error (0)lr_continue_on_error (1)。这两个语句成对出现,期间包含着需要设置为发生错误停止执行的关键业务脚本,如1-71所示。51Testing软件测试网8fQX9I.D*P!q%C

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

1-71

9{3Y [ A:{%C(BT0

Action()

~R(XM&A [0

{51Testing软件测试网*Sc$it3FC

      ……51Testing软件测试网^%L)|_(`u

      ……

o]D0{ w*\0

      lr_continue_on_error (0); //下面是一些重要事务代码,因此关闭出错继续执行设置

6eq tW6J-U0

   ……51Testing软件测试网L0b\1X9R"D,T `

      ……51Testing软件测试网ea,b*j`^)hO:We

      lr_continue_on_error(1); //后面是一些非关键事务代码,例如下载一些图片文件,因51Testing软件测试网(TdFoqj$Z W

//此开启出错继续执行参数设置。

/WX g(upB0

 

Ca,c1gi7_+lVf]0

      ……51Testing软件测试网._G3A#OK4pk,_,p

      ……51Testing软件测试网t"CiV"Gwsf!a.B

      return 0;51Testing软件测试网O4[ hQG;r_#W

}51Testing软件测试网.GxHa7e_v

"?*H-EU)~4Vr1l R!n S0反之,如果在Run-time Settings中没有勾选Continue on error项,则应该通过组合使用lr_continue_on_error (1)lr_continue_on_error (0)来使一些非关键业务发生错误后继续执行。51Testing软件测试网lj6kc3P_5D!xx


TAG:

 

评分:0

我来说两句

Open Toolbar