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 次

Add a Comment

邮箱地址不会被公开。 必填项已用*标注