lr_output_message
lr_debug_message
lr_log_message
lr_error_message
// Save current data time into a parameter
lr_save_datetime
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 大端(網絡順序)八進制
� 大端(網絡順序)十進制
%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);
原文轉自:http://www.anti-gravitydesign.com