loadrunner脚本,如何获取lr的变量以及lr变量和其他程序语言的变量的转换
一。 从同事那里取的经。
lr变量和程序变量 简单看来是有区别的。
例如lr脚本中可以使用c语言,则c语言定义的变量 和 lr的变量不是通用的,需要转换。 具体请看如下的一段代码。
如果 lr参数名为 “parameter” ,他的值是一个字符串“hello”
则 引用这个参数时需要这么用 “{parameter}”
vuser_init()
{
char hello[1024]; //c语言字符串
strcpy(hello,"hello world");
lr_save_string(hello, "hello_para"); //将hello变为lr的变量,变量名称为{hello_para}
lr_log_message(lr_eval_string("{hello_para}")); //如何把lr变量转换为字符串,并在log里打印出来
lr_log_message("######################################begain to test#########################################");
web_reg_save_param(“tgt”,”NOTFOUND=WARNING”,”LB=”,”RB=”,”ORD=ALL”,LAST);// 注册一个获取param的程序,这句话这个会将下面的函数返回值(也就是请求页面后返回的数据)里查找到匹配的字符串,并赋值给一个参数的这个lr变量名
web_submit_data("get",
"Action=http:",
"Method=POST",
"RecContentType=text/xml",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
ITEMDATA,
LAST);
// lr_log_message(lr_eval_string("{string1}"));
web_reg_save_param("string1","NOTFOUND=WARNING","LB=","RB=","ORD=ALL",LAST);
web_submit_data("get",
"Action=",
"Method=POST",
"RecContentType=text/xml",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
ITEMDATA,
"Name=param", "Value={string1}", ENDITEM,
LAST);
// lr_log_message(lr_eval_string("{st_1}"));
lr_save_string(lr_eval_string("{st_1}"), "param2"); //就是把lr变量{st_1} 的值付给 lr变量 {param2}.
return 0;
}
二。 int型转成字符串,转lr的变量
Action()
{
int i=0;
//char b[100] = "hello";
char b[100] = "";
for (;i<20000;i++) {
itoa(i,b,10);
lr_save_string(b,"Param");
//lr_log_message("%s",b);
lr_log_message(lr_eval_string("{Param}"));
web_custom_request("push_2",
"URL=",
"Method=POST",
"Resource=0",
"RecContentType=text/plain",
"Referer=",
"Mode=HTML",
"Body=",
LAST);
}
return 0;
}
此篇文章已被阅读2856 次