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

Loadrunner 日志参数的设置与使用

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

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

I+ly ['^wjX9[0


j!ct'Gu4Mk^0

9l1n?`$ib0

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

:t8v.oG6e)I0

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

y(DlSEB*V0

1、 Enable logging启用日志记录51Testing软件测试网+}0rLkqloQ~

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

qe9LxP.iju2@.Z0

2、 Send messages only when an error occurs仅在出错时发送消息

F/a e Vi,N1DX'Xk/[0

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

nB,W.n'Zv*q)S0

3、 Always send messages

1nH3]aU3Q1pS0

始终发送消息

U0ecacODN0

4、 Standard log

\[._)_+NF0

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

ro@P E#~&Gyt&N5`0

对于大型负载测试场景、优化会话或配置文件禁用此选项。51Testing软件测试网:d+@or6@E8Q

如果日志记录级别设置为“标准”,当把脚本添加到场景、会话步骤或配置文件51Testing软件测试网9T$h;q)^h&Lvx

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

n%Wo QD'c1O9a(X0

5、 Extended log-----Parameter substitution51Testing软件测试网] s,E^(X)k

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

_ Q)s1QNQ8rI0

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

%}9} ur]:kCZ HGDm0

6、 Extended log-----Data returned by server

5B#FZC!?$v]-kj0

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

;dm hp i:iR0

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

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

d3b;Dh3@7z!b$v/]0

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

#Z`q|G E0

调试Vuser脚本时,该选项非常有用。51Testing软件测试网h$a+s%V3^MY `

二、日志函数的使用

)WHI J;u;xw&a^0

Loadrunner提供了一下几个message函数:
1Z5Kka!]01
lr_message

td?"srAy6Ea8f_0
intlr_message (const char *format,exp1,exp2,...expn.);51Testing软件测试网,wp s7? B'EL8q^
 
中文解释:lr_message函数将信息发送到日志文件和输入窗口。在VuGen中运行时,输入文件为output.txt51Testing软件测试网1@y x9z2W,q}a M/N

例如:51Testing软件测试网vRt/R2s{au

char* abort="aborting";51Testing软件测试网GNt*gM6|9Dr

      lr_message ("login failed: %s", abort);

EUE%W({PU0

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

^+h:rQl8O~*Uz0

2lr_log_message
1xdi2x@0 
intlr_log_message (const char *format,exp1,exp2,...expn.);51Testing软件测试网1L%V*x.}X%M.u5}
 
中文解释:lr_log_message函数将消息发送到Vuser或代理日志文件(取决于应用程序),而不是发送到输出窗口。通过向日志文件发送错误消息或其他信息性消息,可以将该函数用于调试。51Testing软件测试网3~oCe9d A7})J

3lr_error_message
X0l4J.^2~'c'q0 int lr_error_message (const char *format, exp1, exp2,...expn. );51Testing软件测试网 N$]!N7U/Y lQe'S
 
中文解释:lr_error_message函数将错误消息发送到输出窗口和Vuser日志文件。

f(\#GJ5se0

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

3Wd L[5\B!S*_0

4lr_output_message
gh_zs.?&I/G4H \y?0 int lr_output_message (const char *format, exp1, exp2,...expn.);51Testing软件测试网_zy7ZK2Rm
 
中文解释:lr_output_message函数将带有脚本部分的行号的消息发送到输出窗口和日志文件。

wa&v(n:^gC:_L0

 51Testing软件测试网'ul*K6@7d#?

三、在脚本中定义日志的输出模式51Testing软件测试网-z.f8VS,p%Rj

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

Y})n Gd,q-j0

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

unsigned int lr_get_debug_message ( );
;@ P"VtR%Majx0 
中文解释:lr_get_debug_message函数返回当前的日志运行时设置。该设置确定发送到输出端的信息。日志设置是使用运行时设置对话框或通过使用lr_set_debug_message函数指定的。
51Testing软件测试网 [%v-SW*~G_ kh;u

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

参数message_level说明: 51Testing软件测试网JS/ye9S2c7z ^!r

 日志级别

#BtP'L)At0

 C语言标志

%] G,v6g$A/P0

 51Testing软件测试网Tr#S#T-JS\3r

 Runtime-setting - Log操作

.m B0_5A+n#ScJ0

 Disabled

TvX-M5[:p8i0

 LR_MSG_CLASS_DISABLE_LOG

4_,rMo0|^8ZG qg0

 0

!e@X$?Bi i'w0

 不勾选Enable logging51Testing软件测试网1atk$~ D

 Brief51Testing软件测试网&sR^ u _6` \.?

 LR_MSG_CLASS_BRIEF_LOG

EB3^ YP)bo#N;x0

 1

?O5eGs"S0

 勾选Standard log

zQ&L Q4a$z#A"K x0

 Extended Log

G\{USD%b0

 LR_MSG_CLASS_EXTENDED_LOG

f sXcyE Y0

 1651Testing软件测试网v8]3H.k\'U%]

 勾选Extended log

f_$`Av0

 Result Data

:Qm$c y.fu,mw _0

 LR_MSG_CLASS_RESULT_DATA

ge1k u$M0

 2

)jjt1W"?k0

 勾选Data returned by server51Testing软件测试网'X:xsXR'M

 Parameter Substitution51Testing软件测试网5u$ur(TNG)L

 LR_MSG_CLASS_PARAMETERS51Testing软件测试网4O1b RK4Nb

 451Testing软件测试网S XO7x+?5S Kme

 勾选Parameter substitution51Testing软件测试网:V#Ncic@\

 Full Run-Time Trace

'}"?9c @IF|0

 LR_MSG_CLASS_FULL_TRACE

G;Wu(d ^b0C0

 851Testing软件测试网Lq iN6U4I

 勾选Advanced trace51Testing软件测试网9S^S.I{ jlK

 Only on error51Testing软件测试网L&g,E&`Ek3z(fD\

 LR_MSG_CLASS_JIT_LOG_ON_ERROR

p,m/^0P1}4Cd2t!r0

 51251Testing软件测试网+ej9b{Yv

 勾选send messages only when an error occurs

8lC{M&Z%W0

参数on_off说明:51Testing软件测试网!pvcr:LvhL
LR_SWITCH_ON】启用设置
Toj(tt^om0
LR_SWITCH_OFF】禁用设置

bZ{L[;zl0

51Testing软件测试网dC Q+tp_9G.i
看下面的小例子:51Testing软件测试网d]HQ#IY$`
Action()51Testing软件测试网"X dw%|M:N5~
{51Testing软件测试网5o%E+U*G'iEV:T
 int log_leavl;
4E7}7N @A"G"\0 log_leavl = lr_get_debug_message();
r(b IIs)K^Z0 lr_error_message ("
当前是:%d",log_leavl);51Testing软件测试网,Z"VD O `9RR Je
 return 0;51Testing软件测试网s e:M?v7C
}51Testing软件测试网:d xdI\k&a
当我设置只有错误信息(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数其实是所有勾选操作的代表值相加!
51Testing软件测试网+{ xmK9R[}9t


!d _p4\ ~L0
51Testing软件测试网*@m0o8E HrL

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

3q&H^lh)x qg0

51Testing软件测试网@*@av'M0q5O!DD
51Testing软件测试网Z1Zjn;}W!e


.P)k/[o9s*E~!E051Testing软件测试网0WO+e/j.a'O"g

再看下面设置的例子:

-^M6_#@ T;hvj0

Action()51Testing软件测试网4L|S[)~D|
{
._(GC u#K0| mpg0//
设置runtime-setting的日志选项【不勾选Enable logging

j9?+ii0C{0R0N|0 char *a;
Iw[1T v)?M+~7rd0 a = "ABC";51Testing软件测试网Rw8YDq`5KS g ~
 lr_set_debug_message (LR_MSG_CLASS_EXTENDED_LOG |LR_MSG_CLASS_PARAMETERS,LR_SWITCH_ON);51Testing软件测试网#rs)m^1MZA
 //
打开Runtime-setting LogParameter substitution设置
GwK.CO)^?|M0 lr_debug_message(LR_MSG_CLASS_PARAMETERS,"
打开参数保存的系统日志");51Testing软件测试网Lxj^@X sF!B Z
 lr_save_string("aa",a);51Testing软件测试网*lrzJ!Q2F
 lr_debug_message(LR_MSG_CLASS_PARAMETERS,"
关闭参数保存的系统日志
");
#@5[.GN"||`3s0 lr_set_debug_message (LR_MSG_CLASS_EXTENDED_LOG |LR_MSG_CLASS_PARAMETERS,LR_SWITCH_OFF);51Testing软件测试网rPm,z9G [[J
 //
关闭Runtime-setting LogParameter substitution设置
51Testing软件测试网U4H8q6_!z%yl

 return 0;51Testing软件测试网 B2gco9U^#{iE
}
51Testing软件测试网 W9V`~)G*bx

因为设置了runtime-setting不打印任何日志,所以正常运行脚本应该没有任何日志输出;51Testing软件测试网E*}Tp`~5P b
但是使用lr_set_debug_message函数打开了日志的设置(输出保存参数操作的日志)
d&ST&w3HmT0
因此脚本运行到lr_save_string("aa",a)时,就输出了日志如下:
51Testing软件测试网!E)C \4U l,W;Z2K

打开参数保存的系统日志51Testing软件测试网)z+v|/Dc8HlAy*C
Action.c(7): Notify: Saving Parameter "ABC = aa"
,@I3T$b|.rR0
关闭参数保存的系统日志51Testing软件测试网q2f}&r#J[


dJ9F9A)H051Testing软件测试网$P.nc^B$n;?Ov3a4h

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

;D9ma n2[8b _0

TAG: LoadRunner loadrunner

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

评分:0

我来说两句

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

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

RSS订阅

Open Toolbar