LoadRunner中lr_output_message和lr_log_message
(1)在vgen中,我们必须写输出函数输出信息,将我们所想要了解的信息用函数输出,主要有这么几个函数输出信息: lr_output_message,lr_error_message,lr_log_message。这些函数请参阅help-->function reference.
其次,我们要在runtime settings中设置,勾选always send messages,具体的做法是:runtime settings--->log-->always send messages,这样我们才能写出Log,在我们的脚本所在的文件夹中,有两个文件很重要, mdrv.log.txt和output.txt文件,lr_log_message只会把信息输到mdrv.log文件中,而lr_output_message则会写进以上两个文件。
(2)在controller中,很多朋友都会想知道多次迭代,参数是否正确的导入了呢,我们依旧查看log,我们在执行结束后,查看结果目录的Log文件夹,如果是负载生成器运行的话,则在tmp目录。不过,还想提醒朋友们,在controller 我们也要设置runtime settings才行,而且每个用户组的runtime settings,设置的方法是:在controller的design标签页中,右下角的部分有runtime settings按钮,我们点击它,设置的方法与在vgen中一样的。
====================================
lr_eval_string函数
源代码:
Action()
{
char * input;
char * rtn;
input="my input";
lr_output_message("the output is %s",input);
lr_output_message("the output is %s",lr_eval_string("{input}"));
web_reg_save_param("rtn",
"LB=<div class=\"result\">",
"RB=</div>",
LAST);
web_submit_data("searchAppList.do_2",
"Action=http://192.168.1.244:11080/189store/searchAppList.do",
"Method=POST",
"RecContentType=text/html",
"Referer=http://192.168.1.244:11080/189store/web/Test/searchPanel.html",
"Snapshot=t67.inf",
"Mode=HTTP",
ITEMDATA,
"Name=type", "Value=list", ENDITEM,
"Name=content", "Value=天翼", ENDITEM,
LAST);
lr_output_message("输出结果rnt=%s", rtn);
lr_output_message("输出结果rnt=%s", lr_eval_string("{rtn}"));
return 0;
}
运行结果:
Action.c(6): the output is my input
Action.c(7): the output is {input}
Action.c(9): Registering web_reg_save_param was successful [MsgId: MMSG-26390]
Action.c(14): web_submit_data("searchAppList.do_2") was successful, 1938 body bytes, 242 header bytes [MsgId: MMSG-26386]
Action.c(26): 输出结果rnt=(null)
Action.c(27): 输出结果rnt=
瀵逛笉璧凤紝鏈悳绱㈠埌"<span style="color:red;">锟斤拷锟斤拷</span>"鐩稿叧搴旂敤
分析:
对于自定义的变量,如果直接赋值,就直接使用变量名称;如果使用了web_reg_save_param,就使用 lr_eval_string("{rtn}")。