lr_save_string函数主要是将程序中的常量或变量保存为lr中的参数。
int lr_save_string (const char *param_value, const char *param_name); |
函数目的:将param_value值保存到param_name变量中
参数介绍:param_value:要保存的值
param_name: 变量名称
lr_eval_string 函数主要是返回脚本中的一个参数当前的值。
示例:
char *tmp="hello"; lr_save_string("777","page"); //将常量777保存为参数page lr_output_message(lr_eval_string("{page}")); //获取并输出参数page的当前值 lr_save_string(tmp,"page"); //将变量保存为参数,tmp为变量 lr_output_message(lr_eval_string("{page}")); |
执行结果:
777 hello |
lr_eval_string
函数的主要作用:返回脚本中的一个参数当前的值,
一般多用在调试脚本时输出参数的值.具体用法如下:
lr_output_message("The parameter1's value is %s",lr_eval_string("{parameter1}")),其中参数parameter1在之前已经定义了的参数
1.参数的赋值和取值
int x;
x=10;
lr_save_string(x,"param");
char x[100];
x="{param}";
lr_save_string("hello world","param");
对某注册页面,需要往数据库插入1000条个用户的数据,可以在脚本中编写循环语句循环1000次,每次循环更新用户名(可利用循环变量i的值),这样脚本执行完成之后就会往数据库插入1000个用户的注册信息。
web_submit_form("login.pl",
"Snapshot=t3.inf",
ITEMDATA,
"Name=username","Value=jphuang", ENDITEM,
"Name=password","Value=123456", ENDITEM,
"Name=passwordConfirm","Value=123456", ENDITEM,
"Name=firstName","Value=dd", ENDITEM,
"Name=lastName","Value=dd", ENDITEM,
"Name=address1","Value=dd", ENDITEM,
"Name=address2","Value=dd", ENDITEM,
"Name=register.x","Value=76", ENDITEM,
"Name=register.y","Value=6", ENDITEM,
LAST);
可以改为:
for (i =1; i<10; ++i) {
lr_save_int( i, "name");
lr_eval_string("{name}");
web_submit_form("login.pl",
"Snapshot=t3.inf",
ITEMDATA,
"Name=username","Value=JH{name}", ENDITEM,
"Name=password","Value=123456", ENDITEM,
"Name=passwordConfirm","Value=123456", ENDITEM,
"Name=firstName","Value=dd", ENDITEM,
"Name=lastName","Value=dd", ENDITEM,
"Name=address1","Value=dd", ENDITEM,
"Name=address2","Value=dd", ENDITEM,
"Name=register.x","Value=76", ENDITEM,
"Name=register.y","Value=6", ENDITEM,
LAST);
}
需要在action的最开头声明int i
用lr_save_int函数保存循环中i的值给name参数,用lr_eval_string返回脚本中的一个参数当前的值
这样就可以生成 JH1、 JH2、JH3…….JH1000等1000个注册用户。