`
liyiye
  • 浏览: 416021 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Loadrunner 日志参数的设置与使用

阅读更多

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

51Testing软件测试网 ZaX%iV]mh

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

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

1、  Enable logging启用日志记录

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

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

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

3、  Always send messages

始终发送消息

4、  Standard log

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

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

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

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

5、  Extended log-----Parameter substitution

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

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

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

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

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

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

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

调试 Vuser 脚本时,该选项非常有用。

二、日志函数的使用

Loadrunner提供了一下几个message函数: 51Testing软件测试网 x lmU$B
1
lr_message

,a;m;[0k Sn-MM&E n216511
int lr_message (const char * format, exp1, exp2,...expn.);
8E}K!]+t216511 
中文解释:lr_message函数将信息发送到日志文件和输入窗口。在VuGen中运行时,输入文件为output.txt

例如:

char* abort="aborting";

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

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

2lr_log_message
mYTX&D~'b216511 
int lr_log_message (const char * format, exp1, exp2,...expn.);
R?4B3F9?J6W+Fk~ e216511 
中文解释:lr_log_message函数将消息发送到Vuser或代理日志文件(取决于应用程序),而不是发送到输出窗口。通过向日志文件发送错误消息或
其他信息性消息,可以将该函数用于调试。

3lr_error_message
-a1xH,G%r2Wy216511 int lr_error_message (const char *format, exp1, exp2,...expn. );
N"r,dtlF216511 
中文解释:lr_error_message函数将错误消息发送到输出窗口和Vuser日志文件。

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

4lr_output_message51Testing软件测试网 SO8N/NQ'PH ze
 int lr_output_message (const char *format, exp1, exp2,...expn.); 51Testing软件测试网$k$G%IN+|z%|#hP'W
 
中文解释:lr_output_message函数将带有脚本部分的行号的消息发送到输出窗口和日志文件。

 

三、在脚本中定义日志的输出模式

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

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

unsigned int lr_get_debug_message ( ); 51Testing软件测试网_2Y!j1j%{S%v
 
中文解释:lr_get_debug_message函数返回当前的日志运行时设置。该设置确定发送到输出端的信息。日志设置是使用运行时设置对话框或通过使用lr_set_debug_message函数指定的。

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

参数message_level说明: 

 日志级别

 C语言标志

 

 Runtime-setting - Log操作

 Disabled

 LR_MSG_CLASS_DISABLE_LOG

 0

 不勾选Enable logging

 Brief

 LR_MSG_CLASS_BRIEF_LOG

 1

 勾选Standard log

 Extended Log

 LR_MSG_CLASS_EXTENDED_LOG

 16

 勾选Extended log

 Result Data

 LR_MSG_CLASS_RESULT_DATA

 2

 勾选Data returned by server

 Parameter Substitution

 LR_MSG_CLASS_PARAMETERS

 4

 勾选Parameter substitution

 Full Run-Time Trace

 LR_MSG_CLASS_FULL_TRACE

 8

 勾选 Advanced trace

 Only on error

 LR_MSG_CLASS_JIT_LOG_ON_ERROR

 512

 勾选send messages only when an error occurs

参数on_off说明:
&S)^ E&X/H:Fm,r216511
LR_SWITCH_ON】启用设置51Testing软件测试网*Hp5HA&J
LR_SWITCH_OFF】禁用设置

51Testing软件测试网9f ~p[:[%fR?:l)J
看下面的小例子:

%BN1x5`M6S9R] M216511Action()
j&sG_dlX216511{
._j uvxw216511 int log_leavl;51Testing软件测试网gC-o xN3d({
 log_leavl = lr_get_debug_message();51Testing软件测试网4v i,n i??/F@~xg
 lr_error_message ("
当前是:%d",log_leavl);51Testing软件测试网9ux;@q*E.b
 return 0;51Testing软件测试网V O#?7[k c
}51Testing软件测试网&a(Ro/oc O2XWbL%Ab
当我设置只有错误信息(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软件测试网m%@ ~5\/Wi

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

51Testing软件测试网-w~)_"C+Wg^o

51Testing软件测试网a{9Y8k%w|^{*m

再看下面设置的例子:

Action()51Testing软件测试网l'cjTy+a*N&p}9M J
{
"H%o7gu1s}3[fB*d)}216511//
设置runtime-setting的日志选项【不勾选Enable logging

'qRFU+D s+V216511 char *a;
2ii1N-[-U0zwV5L216511 a = "ABC";
g#X t(Q4Y@X%xmd9^216511 lr_set_debug_message (LR_MSG_CLASS_EXTENDED_LOG |LR_MSG_CLASS_PARAMETERS,LR_SWITCH_ON);
~ z vAR?$` b216511 //
打开Runtime-setting Log Parameter substitution设置
b&u*[+mpp h6`216511 lr_debug_message(LR_MSG_CLASS_PARAMETERS,"
打开参数保存的系统日志");
|0u4u.\^p-[+p.`+_216511 lr_save_string("aa",a);51Testing软件测试网A2i0P?H
 lr_debug_message(LR_MSG_CLASS_PARAMETERS,"
关闭参数保存的系统日志
");51Testing软件测试网/p&y7z.?z3r
 lr_set_debug_message (LR_MSG_CLASS_EXTENDED_LOG |LR_MSG_CLASS_PARAMETERS,LR_SWITCH_OFF);
8w~Q:O#~1JK8]@216511 //
关闭Runtime-setting Log Parameter substitution设置

 return 0;
A)l;pe{216511}

因为设置了runtime-setting不打印任何日志,所以正常运行脚本应该没有任何日志输出;
G(@%q,~D e8X/D?216511
但是使用lr_set_debug_message函数打开了日志的设置(输出保存参数操作的日志)51Testing软件测试网j&hFb N)nDs:A
因此脚本运行到lr_save_string("aa",a)时,就输出了日志如下:

打开参数保存的系统日志
;i-|m&V4D216511Action.c(7): Notify: Saving Parameter "ABC = aa"
MP0qZoJP~216511
关闭参数保存的系统日志


;^[s/Y8JB W216511

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

分享到:
评论

相关推荐

    行业分析模板--初学者必备gl.ppt

    行业分析模板--初学者必备gl.ppt

    基于微信小程序端的视频社交软件 + 后台管理系统(仿抖音).zip

    简介随着微信的普及,小视频的流行,我们设计一款基于微信小程序端的视频社交软件 + 后台管理系统作为自己专科毕业设计----秀视频-微信小程序端(短视频社交小程序,用户可以在小程序上发布自己的短视频 并且经过我们的平台加入滤镜或者背景音乐制作出独具特色的短视频。并实现了点赞、评论、下载、分享、转发等功能的小程序)---的后台管理系统,主要实现了人员的管理,短视频的管理,背景音乐的管理,登陆注册,权限验证,单点登陆等等。 从需求分析,功能设计,前端到后台,再到数据库的设计。一点点的积累,一点点的完善,预计小程序端+后台管理系统开发周期一个月(每天更新)。 对一个开发人员来说,如果想单纯的做出这些功能,其实并不难。 难的是对于这些功能细节的把控,项目整体的友好程度,用户的体验效果;对并发的考虑,对恶意请求,对流畅度这些细节的考虑等等。

    基于matlab实现麦克风阵列的声源定位,四元十字阵的matlab仿真.rar

    基于matlab实现麦克风阵列的声源定位,四元十字阵的matlab仿真.rar

    某钢厂钢铁废水处理图纸.zip

    污水处理

    基于yoloV4,检测茶叶中的杂质,并利用混淆矩阵计算识别率

    混淆矩阵 检测茶叶中的杂质,并利用混淆矩阵计算出精确率和误判率 小技巧的设置 在train.py和train_eager.py文件下: 1、mosaic参数可用于控制是否实现Mosaic数据增强。 2、Cosine_scheduler可用于控制是否使用学习率余弦退火衰减。 3、label_smoothing可用于控制是否Label Smoothing平滑。

    基于matlab实现的一种新型的配电网潮流计算,基于前推回代法

    基于matlab实现的一种新型的配电网潮流计算,基于前推回代法,并附有10kv配电网数据,利用新的判别手段,成功解决配电网不收敛的问题.rar

    node-v7.3.0-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    2024年入境旅游行业市场分析报告.pptx

    行业报告

    node-v6.13.0-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于matlab实现的实现图像的平移,平移量应该可调(即用一个变量保存平移量)

    基于matlab实现的实现图像的平移,平移量应该可调(即用一个变量保存平移量),并显示对图像“view”的处理结果。 2.编程实现图像的缩放,缩放系数可调,分别用两个变量保存水平和垂直方向的缩放系数,并显示对图像“view”的处理结果。.rar

    基于VB+access实现抽奖系统(系统+论文+开题报告+外文翻译+封面+中英摘要+任务书+中期检查表).zip

    【项目资源】:基于VB+access实现抽奖系统(系统+论文+开题报告+外文翻译+封面+中英摘要+任务书+中期检查表) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。

    ASP基于BBS系统开发与帐户安全保护的实现(源代码+设计说明书).zip

    ASP基于BBS系统开发与帐户安全保护的实现(源代码+设计说明书).zip

    连续或间歇进水的SBR工艺反应池的工程设计计算.xls

    污水处理计算书

    卷积神经网络-基于VGGNet实现的遥感图像分类算法.zip

    卷积神经网络 卷积神经网络_基于VGGNet实现的遥感图像分类算法

    node-v10.19.0-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    MBR操作规程.doc

    课程设计,污水处理设计方案

    node-v10.23.3-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于matlab实现的齿轮接触疲劳强度分析程序,机械设计中使用.rar

    基于matlab实现的齿轮接触疲劳强度分析程序,机械设计中使用.rar

    vue面试题30道经典.rar

    vue面试题30道经典

    node-v6.1.0.tar.xz

    node-v6.1.0.tar

Global site tag (gtag.js) - Google Analytics