本空间所有日志均为原创,如有转载请注明出处!!!!!!! 有需要讨论问题的可加QQ:28005389(上班时间一般都在隐身),邮箱hurh_888@sina.com 共同学习、共同进步

Loadrunner 日志参数的设置与使用

上一篇 / 下一篇  2008-05-21 22:00:14 / 个人分类:loadrunner

转载请注明出处:http://www.51testing.com/?41972

#h+j Z AA0


2XO,S2e},o3|)?0

-H{#v(G:W5E5DN l f yr0

一、Run-Time Setting日志参数的设置

#mt2zPv/Rh \0

loadrunnervuser菜单下的Run-Time SettingGeneralLOG选项中可以对在执行脚本时Loadrunner对日志的操作行为进行定义,下面我们在逐一介绍:

?.l.^bd]0

1、 Enable logging启用日志记录51Testing软件测试网4wL)^@e(b,H

如果选中该选项Loadrunner在执行脚本时,进行日志的记录,否则不记录日志

R |S-S [O8f0

2、 Send messages only when an error occurs仅在出错时发送消息51Testing软件测试网RFN`rrW9h"o

      也称为JIT(实时)消息传递,仅当错误发生时才写入日志,选择该选项后则可以设置高级选项,指明日志缓存的大小,loadrunner默认的日志到小为1k

B:amo n sh0

3、 Always send messages51Testing软件测试网 bZ F^oRJw

始终发送消息

;R'kX G~j$]q1N0

4、 Standard log

&Dq"t'H k"l,`0

      标准日志:创建在脚本执行期间发送的函数和消息的标准日志,供调试时使用。

j|-AM~xY%o0

对于大型负载测试场景、优化会话或配置文件禁用此选项。

)Da GtK0

如果日志记录级别设置为“标准”,当把脚本添加到场景、会话步骤或配置文件

Q!fk8| |(F0

中时,日志记录模式将被自动设置为“Send messages only when an error occurs”。但是,如果日志记录模式被禁用或者设置为“扩展”,则将脚本添加到场景、会话步骤或配置文件中将不会影响其日志记录设置。

4E^ [V Q3I4iG0

5、 Extended log-----Parameter substitution

#M0Q%~+_o0

参数替换:选择此选项可以记录指定给脚本的所有参数及其相应的值

1|ud{&B0

当脚本进行参数化、插入事务、关联等优化后,在执行脚本过程中,参数化的值、事务所耗时间、关联函数取出的变量值均会在日志中输出,这个选项对调试脚本查看参数化取值、关联取值是否正确有着重要的作用

1iX E3U8D0_!M0

6、 Extended log-----Data returned by server51Testing软件测试网r2okG.C"\ B

  选择此选项可以记录服务器返回的所有数据。

6yobX _yS,j*F0

  Loadrunner会将所有对服务器发出请求后的response情况记录在日志中,从这个日志中可以查看到服务器对请求的回应是否正确,在使用关联取值时往往需要到该日志中查看需要关联的值,从而确认所取数据左右边界。

*@)? t-j3P~ZXwxqi0

7、 Extended log-----Advanced trace 高级跟踪

!Pt/l:{%u5dok$zf0

      选择此选项可以记录Vuser在会话期间发送的所有函数和消息。

,Yy Q7^u C h&X0|0

调试Vuser脚本时,该选项非常有用。51Testing软件测试网bm+[VM!z

二、日志函数的使用51Testing软件测试网.S$G~t'V

Loadrunner提供了一下几个message函数:
u0l~b%w9K01
lr_message

5dM&Nt`bb0
intlr_message (const char *format,exp1,exp2,...expn.);
*k/_!s5D;| } Q+jF-|E g0 
中文解释:lr_message函数将信息发送到日志文件和输入窗口。在VuGen中运行时,输入文件为output.txt

7aJQ M@7?x0

例如:51Testing软件测试网} XhO4C y

char* abort="aborting";51Testing软件测试网3f!RyL V#RK

      lr_message ("login failed: %s", abort);51Testing软件测试网.Lc|+e0nk"JK9^

   在日志中将会看到:login failed: aborting

1\lfJ#{5A![l0

2lr_log_message51Testing软件测试网 g F:LE hyr
 
intlr_log_message (const char *format,exp1,exp2,...expn.);51Testing软件测试网U {G~0[q
 
中文解释:lr_log_message函数将消息发送到Vuser或代理日志文件(取决于应用程序),而不是发送到输出窗口。通过向日志文件发送错误消息或其他信息性消息,可以将该函数用于调试。

)Ku6sb:X~H1n0

3lr_error_message51Testing软件测试网at1j(xr\X*n
 int lr_error_message (const char *format, exp1, exp2,...expn. );51Testing软件测试网| D*[;m HhX}X
 
中文解释:lr_error_message函数将错误消息发送到输出窗口和Vuser日志文件。
51Testing软件测试网|vp*cr'T M

如果Run-time settings > General > Miscellaneous >Continue on error未被选中,当脚本执行到此处时将终止执行,这个函数所输出的错误级别较高的信息,所以一般情况下如果使用该函数时选中Continue on error

O1[ @a;?E2Ow V0

4lr_output_message
]$B2s;e3j0 int lr_output_message (const char *format, exp1, exp2,...expn.);51Testing软件测试网'AQW R-O
 
中文解释:lr_output_message函数将带有脚本部分的行号的消息发送到输出窗口和日志文件。

^Irs?0

 51Testing软件测试网'pt `x_,]S3Q6`

三、在脚本中定义日志的输出模式51Testing软件测试网XE*Z:u Z3H

int lr_debug_message (unsigned int message_level, const char *format, ... );

"^H2Cj(w\0

 中文解释:lr_debug_message函数在指定的消息级别处于活动状态时发送一条调试信息。如果指定的消息级别未出于活动状态,则不发送消息。您可以从用户界面或者使用lr_set_debug_message将处于活动状态的消息级别设置为MSG_CLASS_BRIEF_LOG MSG_CLASSS_EXTENDED_LOG。要确定当前级别,请使用lr_get_debug_message

QR m~~;a0

unsigned int lr_get_debug_message ( );51Testing软件测试网vBJ!nC^'w!WM
 
中文解释:lr_get_debug_message函数返回当前的日志运行时设置。该设置确定发送到输出端的信息。日志设置是使用运行时设置对话框或通过使用lr_set_debug_message函数指定的。
51Testing软件测试网.WC2lzM.V

int lr_set_debug_message (unsigned int message_level, unsigned int on_off);51Testing软件测试网s4rD4h2d*x
 
中文解释:lr_set_debug_message函数设置脚本执行的调试消息级别message_lvl。通过设置消息级别,可以确定发送哪些信息。动设置的方法是将LR_SWITCH_ON作为on_off传递,禁用设置的方法是传递LR_SWITCH_OFF

&l r#G!lYgL]+C0

参数message_level说明: 

|ss{y'n |U0

 日志级别51Testing软件测试网d{_Qv/r,q;bj

 C语言标志51Testing软件测试网2u&E%hM6pRC[

 

a}SO&xP3Tri0

 Runtime-setting - Log操作51Testing软件测试网 Iu3PKt

 Disabled

k3PCpUA%wU^:w0

 LR_MSG_CLASS_DISABLE_LOG

y?fD)~"RO z0

 0

t k+Pto9iv[_2N0

 不勾选Enable logging

;XGT&p+sym0

 Brief51Testing软件测试网3g.D;a~ N

 LR_MSG_CLASS_BRIEF_LOG

:zP[M%h?6]0

 1

3Z^$h@"jG4iO~0

 勾选Standard log

.M+Ng6M;]H{/|-hL0

 Extended Log

yp:jo2PO9w Q9k+u0

 LR_MSG_CLASS_EXTENDED_LOG

(^n I*_B-M2Tr!]0

 16

6m,`HOR$h0

 勾选Extended log51Testing软件测试网ok7t}sd'T$a

 Result Data51Testing软件测试网#|%Ww_4zwp a"d B5K

 LR_MSG_CLASS_RESULT_DATA51Testing软件测试网 hcSl*s VD0s]u

 251Testing软件测试网mw)K$x g%b)^bo-K

 勾选Data returned by server

C4bi2?,CE0

 Parameter Substitution51Testing软件测试网o7JeSKy

 LR_MSG_CLASS_PARAMETERS51Testing软件测试网M hx;\ H"@9_:T

 4

L1Ef8~,dNe1S0

 勾选Parameter substitution

Zs\Ag0

 Full Run-Time Trace

W*x^N6u|:]0

 LR_MSG_CLASS_FULL_TRACE51Testing软件测试网o3RA e/~1{s niD

 851Testing软件测试网gZ%S t+k5Hf

 勾选Advanced trace51Testing软件测试网*z,zn{/^%KPwIPv-L

 Only on error

w:Hs]5s&rr\c2Q0

 LR_MSG_CLASS_JIT_LOG_ON_ERROR

+zkZ _)yK0

 51251Testing软件测试网;D_]3k%w]P

 勾选send messages only when an error occurs51Testing软件测试网i0wvU@i

参数on_off说明:
h)mNgYa+Q%F0
LR_SWITCH_ON】启用设置51Testing软件测试网6_([u'a5jW
LR_SWITCH_OFF】禁用设置

C0@ RuT{7G(g(R2O @0

51Testing软件测试网!|m} \z
看下面的小例子:
rnW+S0\ sE2\R0Action()
0?u(_"zt0{
3Q$@C*IQ$w0 int log_leavl;51Testing软件测试网9c@ZY;fb`nZ
 log_leavl = lr_get_debug_message();51Testing软件测试网p:blsE;I s
 lr_error_message ("
当前是:%d",log_leavl);51Testing软件测试网 pK KpvHkY
 return 0;51Testing软件测试网v+Q[&u2b,Ye
}
0t9K9\)edf0
当我设置只有错误信息(error)打印【勾选send messages only when an error occurs】,例子运行结果是:当前是:513;为什么不是512呢,我发现我实际选择的是【Enable logging + send messages only when an error occurs】,按上面的参数说明,就是【1+512】,也就是513了;因此:lr_get_debug_message返回的int数其实是所有勾选操作的代表值相加!

-LJ^u0B/}#Vs0

51Testing软件测试网$t R/n f*?@X&s
51Testing软件测试网\"p?7gQ [P!c*b(_

转载请注明出处:http://www.51testing.com/?4197251Testing软件测试网"p)P \%e uA


U:Y7JU8]0

V D+A1wN xt%O2w9L0

51Testing软件测试网6G1H4L8I-YzA6hw

r'a!sn-f_U0

再看下面设置的例子:

0\D*w%qf kw/fr4u"QI0

Action()51Testing软件测试网%} j.v3V!Drs8d!~
{51Testing软件测试网m5Z~}!Iy1F:w D
//
设置runtime-setting的日志选项【不勾选Enable logging

_,d#WD/yS(R8]b`0 char *a;
;c!X&dy h#je3b J0 a = "ABC";
^$pNJ;tdPr0 lr_set_debug_message (LR_MSG_CLASS_EXTENDED_LOG |LR_MSG_CLASS_PARAMETERS,LR_SWITCH_ON);51Testing软件测试网nSwU d Im
 //
打开Runtime-setting LogParameter substitution设置51Testing软件测试网Gj4us8b D8?F
 lr_debug_message(LR_MSG_CLASS_PARAMETERS,"
打开参数保存的系统日志");
C d/I7pPQY0 lr_save_string("aa",a);51Testing软件测试网/r9e8G0{ H A:c ^)}M
 lr_debug_message(LR_MSG_CLASS_PARAMETERS,"
关闭参数保存的系统日志
");51Testing软件测试网.E3bQ?(E'z1TjQ9Oq,r
 lr_set_debug_message (LR_MSG_CLASS_EXTENDED_LOG |LR_MSG_CLASS_PARAMETERS,LR_SWITCH_OFF);
K'Bn5W \~{l,A0 //
关闭Runtime-setting LogParameter substitution设置
51Testing软件测试网yt.q5PFV/Nh f

 return 0;51Testing软件测试网_+z2u+ekWV
}
51Testing软件测试网 r^(A0Z Y$|9_!b

因为设置了runtime-setting不打印任何日志,所以正常运行脚本应该没有任何日志输出;
8Kz?o [Y0W$v0
但是使用lr_set_debug_message函数打开了日志的设置(输出保存参数操作的日志)
ZW#?j Zyd5R/tD0
因此脚本运行到lr_save_string("aa",a)时,就输出了日志如下:

P u6{ w1cH}0

打开参数保存的系统日志51Testing软件测试网:v3R R^:{{f
Action.c(7): Notify: Saving Parameter "ABC = aa"
Ry%v+R:g M$DR0
关闭参数保存的系统日志

)y ELkn~'QM0

51Testing软件测试网s8muxs skG7HE0r

,n T3B*Q#u Z Zn0

转载请注明出处:http://www.51testing.com/?4197251Testing软件测试网Z(i,i9Z*nE'Q{b


TAG: LoadRunner loadrunner

Carol 引用 删除 色彩   /   2009-10-14 17:38:09
3
 

评分:0

我来说两句

日历

« 2024-04-15  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 203928
  • 日志数: 25
  • 图片数: 4
  • 建立时间: 2008-01-24
  • 更新时间: 2009-07-22

RSS订阅

Open Toolbar