`
solem
  • 浏览: 34295 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Loadrunner message函数详细分析

阅读更多
Loadrunner提供了若干message函数,以在脚本回放中和脚本运行中,对外输入信息,主要的函数有:


  【lr_message】



  int lr_message (const char *format, exp1, exp2,...expn.);


  中文解释:lr_message函数将信息发送到日志文件和输入窗口。在VuGen中运行时,输入文件为output.txt。



  【lr_log_message】


  int lr_log_message (const char *format, exp1, exp2,...expn.);



  中文解释:lr_log_message函数将消息发送到Vuser或代理日志文件(取决于应用程序),而不是发送到输出窗口。通过向日志文件



  发送错误消息或其他信息性消息,可以将该函数用于调试。


  【lr_error_message】

  int lr_error_message (const char *format, exp1, exp2,...expn. );

  中文解释:lr_error_message函数将错误消息发送到输出窗口和Vuser日志文件。要发送不是特定错误消息的特殊通知,请使用lr_output_message。



  【lr_output_message】

  int lr_output_message (const char *format, exp1, exp2,...expn.);

  中文解释:lr_output_message函数将带有脚本部分的行号的消息发送到输出窗口和日志文件。

  【lr_vuser_status_message】


  int lr_vuser_status_message (const char *format);



  中文解释:lr_vuser_status_message函数向控制器或优化模块控制台的vuser窗口的“状态”区域发送字符串。它还将该字符串发送



  到vuser日志。从VuGen运行时,消息被发送到output.txt。


  下面大家看例子:

  Action()

  {

  int i,j,k;



  char *message;


  j = k = 1000;



  message = "信息";



  lr_message("****************输出区域开始*****************");

  lr_message(" lr_message %s:十进制=%d,八进制=%o,十六进制=0x%x",message,j,j,j);

  lr_log_message(" lr_log_message %s:十进制=%d,八进制=%o,十六进制=0x%x",message,j,j,j);



  lr_error_message(" lr_error_message %s:十进制=%d,八进制=%o,十六进制=0x%x",message,j,j,j);

  lr_output_message(" lr_output_message %s:十进制=%d,八进制=%o,十六进制=0x%x",message,j,j,j);


  lr_message("****************输出区域结束*****************");

  for (i=1;i<6;i++)

  {

  k += 1000;

  lr_think_time (5);


  lr_vuser_status_message("第%d次:%s,十进制=%d,八进制=%o,十六进制=0x%x",i,message,k,k,k);

  }

  return 0;


  }



  例子说明:

  1、message系列的函数参数格式和c语言中的printf格式是完全相同的。

  2、格式化输入标志符号"%",想必大家也比较熟悉。其中%d是十进制,%o是八进制,%x是十六进制,%s是字符;还有%g、%u、%c等,自己去查。

  3、回放这个脚本后,进入脚本根目录查看mdrv.log,所有输出都可以在这里找到。


  4、lr_error_message回放日志中显示的是红色的字体,且显示语句所在行号;同时,如果脚本在controllor中运行时,会生成一个error信息。



  5、lr_vuser_status_message会在controllor的vuser list的status列中显示,controllor每5秒刷新一次。


  6、当然,也支持转义字符的使用,列表如下:

  \a 铃声(警告)


  \b Backspace 键

  \f 换页


  \n 换行



  \r 回车

  \t 水平制表符



  \v 垂直制表符

  \' 单引号标记



  \" 双引号标记



  \\ 反斜杠

  \? 文本问号

  \ooo ASCII 字符 - 八进制


  支持的转换字符有:



  %a ASCII 表示形式


  %BX 大端(网络顺序)十六进制


  %BO 大端(网络顺序)八进制

  %BD 大端(网络顺序)十进制


  %LX 小端十六进制

  %LO 小端八进制



  %LD 小端十进制

  ==============================================================



  此外,loadrunner还提供了在脚本中控制runtime-setting的log设置的函数。

  【lr_debug_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 ( );

  中文解释:lr_get_debug_message函数返回当前的日志运行时设置。该设置确定发送到输出端的信息。日志设置是使用运行时设置对


  话框或通过使用lr_set_debug_message函数指定的。



  int lr_set_debug_message (unsigned int message_level, unsigned int on_off);



  中文解释:lr_set_debug_message函数设置脚本执行的调试消息级别message_lvl。通过设置消息级别,可以确定发送哪些信息。 启

  动设置的方法是将LR_SWITCH_ON作为on_off传递,禁用设置的方法是传递LR_SWITCH_OFF。
 参数on_off说明:

  【LR_SWITCH_ON】启用设置

  【LR_SWITCH_OFF】禁用设置

  看下面的小例子:



  Action()


  {

  int log_leavl;

  log_leavl = lr_get_debug_message();


  lr_error_message ("当前是:%d",log_leavl);

  return 0;


  }

  当我设置只有错误信息(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数其实是所有勾选操作的代表值相加!



  再看下面设置的例子:

  Action()

  {

  //设置runtime-setting的日志选项【不勾选Enable logging】

  char *a;

  a = "ABC";


  lr_set_debug_message (LR_MSG_CLASS_EXTENDED_LOG |LR_MSG_CLASS_PARAMETERS,LR_SWITCH_ON);

  //打开Runtime-setting Log 的Parameter substitution设置

  lr_debug_message(LR_MSG_CLASS_PARAMETERS,"打开参数保存的系统日志");

  lr_save_string("aa",a);

  lr_debug_message(LR_MSG_CLASS_PARAMETERS,"关闭参数保存的系统日志");



  lr_set_debug_message (LR_MSG_CLASS_EXTENDED_LOG |LR_MSG_CLASS_PARAMETERS,LR_SWITCH_OFF);

  //关闭Runtime-setting Log 的Parameter substitution设置

  return 0;



  }

  因为设置了runtime-setting不打印任何日志,所以正常运行脚本应该没有任何日志输出;

  但是使用lr_set_debug_message函数打开了日志的设置(输出保存参数操作的日志)

  因此脚本运行到lr_save_string("aa",a)时,就输出了日志如下:

  打开参数保存的系统日志

  Action.c(7): Notify: Saving Parameter "ABC = aa"



  关闭参数保存的系统日志

转自:领测软件测试网[http://www.ltesting.net]
原文链接:http://www.ltesting.net/ceshi/ceshijishu/rjcsgj/mercury/loadrunner/2012/0517/204897_2.html
分享到:
评论

相关推荐

    loadrunner常用函数介绍

    以下是一些LoadRunner脚本中常用的函数及其用途的详细解释: 1. lr_start_transaction 和 lr_end_transaction:这两个函数用于标记事务的开始和结束,以便在性能分析中跟踪事务的执行时间。例如,`lr_start_...

    loadrunner功能函数帮助文档

    本篇文章将详细介绍LoadRunner的功能函数,并结合提供的帮助文档,如funcref_1.chm至funcref_4.chm以及FuncRef.chm,解析其核心知识点。 一、基础概念 1. **Vuser脚本**:LoadRunner的测试脚本是基于C语言的,称为...

    loadRunner常用函数

    LoadRunner 常用函数详解 LoadRunner 是一款性能测试工具,用于模拟大量用户对服务器的请求,以评估服务器的性能和可扩展性。在 LoadRunner 中,有很多常用的函数可以用来实现各种测试场景。下面我们将介绍 ...

    Loadrunner常用函数总结

    本文将对LR中常用的几个函数进行详细介绍,帮助读者更好地理解和运用这些函数。 #### strlen:获取字符串长度 `strlen`函数用于获取一个字符串的实际长度,不包括末尾的空字符`\0`。例如: ```c char* str = ...

    loadrunner函数

    本文将详细介绍LoadRunner中的函数,主要包括事务函数、命令行分析函数和信息性函数等。 首先,我们来看LoadRunner的事务函数。事务函数在LoadRunner脚本中用于标识一系列的操作,它们可以用来计算特定任务的性能...

    LoadRunner函数大全之中文解释

    11. **脚本调试**:lr_debug_message和lr_set_debug_message_level等函数帮助开发者在编写和调试脚本时获取更详细的运行信息。 通过深入学习《LoadRunner函数大全之中文解释》,软件测试人员不仅可以掌握LoadRunner...

    LoadRunner函数使用说明

    本篇将详细解析LoadRunner中的函数,包括通用函数和特定协议函数。 首先,我们来看通用函数,这些函数以"lr"为前缀,可以在LoadRunner支持的任何协议中使用。以下是一些重要的通用函数: 1. lr_error_message:这...

    LoadRunner常用函数总结

    ### LoadRunner常用函数详解 #### 一、事务函数 ...以上就是LoadRunner中常用的一些函数及其功能的详细介绍。通过合理利用这些函数,我们可以更有效地进行性能测试,并准确地分析系统的性能表现。

    LoadRunner函数小全

    以下是关于LoadRunner函数的一些详细说明: 1. **LR函数:** - `lr_start_transaction`:此函数用于标记一个事务的开始,这对于性能分析至关重要,因为它定义了性能测试中的关键操作开始的时间点。 - `lr_end_...

    loadrunner中文函数解释

    ### LoadRunner 中文函数解释 #### 一、`lr_get_vuser_ip` **作用:** 此函数用于获取虚拟用户的 IP 地址。 **返回值:** 如果操作成功,则返回一个指向虚拟用户 IP 地址的指针;如果失败(如 IP 欺骗功能未...

    loadrunner函数文档(英文版)

    4. **系统函数**:如sys_info()获取系统信息,log_message()记录日志,这些函数可以帮助我们更好地控制和调试脚本。 二、Web测试函数库 针对Web测试,LoadRunner提供了专门的函数库,包括HTML、JavaScript、AJAX等...

    loadrunner学习笔记

    3. **LoadRunner message函数详细分析**:message函数用于在脚本中插入日志信息,帮助调试和分析测试结果。例如,使用lr_output_message输出测试过程中的变量值,lr_error_message用于报告错误信息。了解这些函数的...

    LoadRunner 函数

    在LoadRunner中,函数是实现自动化测试的关键元素,它们允许用户模拟用户行为、监控系统资源以及进行性能分析。以下是一些LoadRunner中的核心函数及其用途: 1. **lr_start_transaction 和 lr_end_transaction**: ...

    loadrunner函数大全及中文新

    在本文中,我们将对LoadRunner的函数进行深入解析,以帮助读者更好地理解和运用这些函数。 首先,我们要提到事务(transaction)的概念。在LoadRunner中,事务是指一系列相关的步骤,这些步骤共同完成了一个逻辑上的...

    loadrunner教程、函数集合

    1. Action函数库:这是LoadRunner的基础,包含了如lr_start_transaction、lr_end_transaction等用于管理事务的函数,以及lr_error_message用于报告错误的函数。 2. Web函数库:主要用于HTTP/HTML协议的测试,例如...

    LoadRunner 常用的函数

    ### LoadRunner常用函数详解 #### 一、事务处理函数 **1. lr_start_transaction(“事务名称”)** - **用途**: 标记一个事务的开始。事务是LoadRunner性能测试中的基本单位,用于衡量一组操作的整体性能表现。 - *...

Global site tag (gtag.js) - Google Analytics