|
沙发

楼主 |
发表于 2008-9-8 17:42:16
|
只看该作者
|
如何格式化LR的消息
脚本中的消息可以使用“my_msg”全局变量以及printMessage()函数来格式化。
比如:
sprintf( my_msg, "... " );
printMessage("debug", my_msg);
作用是控制Log信息的输出方式,也就是格式化输出的信息。
这个是参考了Log4j中将要输出的Log信息定义了5种级别,依次为DEBUG、INFO、WARN、ERROR和FATAL,当输出时,只有级别高过配置中规定的级别的信息才能真正的输出,这样就很方便的来配置不同情况下要输出的内容,而不需要更改代码。
因此LR中我们可以做如下设置:
trace:一般用在脚本调试中,它使用面最广。
debug: 在产品交付前打印输出消息,它输出主要事件的消息,检查输出内容是否是预期的。
warn:用于应用程序可以忽略故障而继续执行的情况。
error:检测到了不正确的配置信息。
fatal:遇到了必须终止脚本运行的错误。
------------------------------------------------------------
不过先整理下lr中关于消息函数的使用:
int lr_log_message (const char * format, exp1, exp2,...expn.);
lr_log_message函数将发送一个消息给Vuser或者代理日志文件(依赖于应用),而不会发送到output窗口。你可以使用这个函数发送error或者更多信息的消息给日志文件方式来调试。尽量使用这个函数来发送消息给日志文件,而不是发送消息到output窗口,这样可以避免网络超载。在独立程序中(比如VuGen),lr_log_message会发送消息到显示器以及output.txt。
使用lr_error_message函数,在事务中将消息发送到output窗口或者agent log,它将延长执行事件。所以建议使用lr_log_message将消息发送给Vuser的执行log或者应用程序管理站点。如果使用lr_message,功能和lr_error_message相同,只是标识意义相反。
另一个函数lr_output_message,它能输出函数所在脚本的行号,不过也是将消息发送到output窗口或者log文件。
你必须打开logging in the run-time settings,选择Always send messages,才能发送消息给output文件。如果你选择 Send messages only when an error occurs,那么这个函数是不起作用的。
常用format解释:
%i %d 打印整形
%e %E打印科学记数法表示的double类型
%g %G打印普通计数法表示的double类型
%% 打印百分号
%c 打印单字符
%u 打印无符号字符
%s 打印`\0' 结尾的字符串
%- 左对齐打印
%10g %后的10表示打印区域是10个字符宽,不足部分用空补足
%010g %后的0表示打印区域10个字符宽,不足部分用0补足
[ 本帖最后由 step365he 于 2008-9-9 10:40 编辑 ] |
|