Loadrunner message函数详细分析

发表于:2012-06-27来源:测试窝作者:付民点击数: 标签:loadrunner
Loadrunner提供了若干message函数,以在脚本回放中和脚本运行中,对外输入信息,主要的函数有: 【lr_message】 int lr_message (const char *format, exp1, exp2,...expn.); 中文解释:lr_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。

  参数message_level说明:

ant; margin: 10px 0px; word-break: break-all">  日志级别

 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

原文转自:http://www.ltesting.net