一、关联函数:
web_reg_save_param("关联名称","LB=左边界","RB=右边界","Ord=1",
"Search=NoResource",LAST);
二、检查点函数:
web_reg_find("Fail=NotFound","Search=Body","SaveCount=regcheck(统计参数名)",
"Text=需查找的文本",LAST);
注意:注册型函数需要放在脚本最前面;
三、添加事务:
lr_start_transaction("事务名称");
lr_end_transaction("事务名称",LR_AUTO);
事务一共有2种状态(LR_FAIL和LR_PASS),可通过设置检查点,利用存储的参数来判定事务运行的成败;
比如一个注册业务,做一个检查点,把注册完成返回后的用户名,存储在一个变量里,再通过判断这个变量的值,查看事务是否执行成功!
lr_start_transaction("reg");
web_reg_find("Search=Body",
"SaveCount=regst",
"Text=欢迎:<a class.....>{username}",
LAST);
.....
if(atoi(lr_eval_string("{regst}"))>=1)
lr_end_transaction("reg",LR_PASS);
else
lr_end_transaction("reg",LR_FAIL);
四、添加集合点:
lr_rendezvous("集合点名称");
注意:集合点应放在事务外,否则将影响事务处理时间的统计;
集合点策略在controller场景中进行设置。
五、LR脚本其他常见函数格式:
1、web_link("网站或链接名称","Text=需要单击的链接名","Ord=2(存在多个同名链接时需要指定位置)",LAST);
2、web_url("网站或链接名称","URL=网站或链接地址",……,LAST);
3、web_submit_form("login.pl",
"Snapshot=t3.inf",
ITEMDATA,
"Name=username","Value=admin",ENDITEM,……LAST);
该函数会自动检测在当前页面上是否存在form,然后将后面的ITEMDATA数据进行传递;
4、web_submit_data("login.pl",
"Action=网站URL",
"Method=POST",
ITEMDATA,……,LAST);
该函数无须前面的页面支持,直接将数据发送给指定的页面(包括隐藏表单的数据);
5、atoi(lr_eval_string("{regcheck}"))
这里面包含了2个函数,其中lr_eval_string(“”)是将某个参数作为字符串输出
atoi()是自动转换格式函数,自动转换字符串成整形
如:
6、lr_save_string("shanghai","city");//赋值函数
lr_eval_strging("welcome to {city}");//取值函数
结果就是 welcom to shanghai .
7、int x=10;
char *y;
char *z;
y="this is a string!";
z="Another string!";
lr_save_int(x,"parm1");//将整形数转成string,并赋值给parm1
lr_save_string(y,"parm2");//将y赋值给parm2
lr_save_var(z,10,0,"parm3");//10是取z的长度,0是从左边开始取
//开始打印
lr_output_message("x=%d",x);
lr_output_message("y=%s",s);
lr_output_message(lr_eval_string("{parm1}"));
lr_output_message(lr_eval_string("{parm2}"));
lr_output_messag(lr_eval_string("parm3"));
六、参数和变量的区别:
LR中带{}的字符串都是一个参数,可在LR函数中直接使用
参数无需定义,可直接使用;
变量必须先定义,且必须在脚本的最开始(系统函数之前)进行定义,否则会报错。
参数是全局的,在脚本中的任何一个action中都可以使用;变量一般是局部的,如果跨action 调用会出现未声明的说明。
1.参数和字符串变量的交换
lr_save_string("hello world","param");//赋值
lr_eval_string("{param}");//取值
2.变量转参数
int x;
x=10;
lr_save_string(x,"param");//整数转成字符串
lr_eval_string("{param}");
3.变量存放参数名
char x[100];
x="{param}";
lr_save_string("hello world","param");
lr_eval_string(x); //获得X变量所指向的参数名所对应的值
4、数字型变量和参数的交换
int x;
x=10;
lr_save_int(x,"param");//整数转参数(字符串)
x=atoi(lr_eval_string("{param}"));//参数取值转数据类型后成为变量
5、信息输出
int x=10;
char * y;
y="hello world!";
lr_output_message("x=%d,y=%c",x,y);//这个函数好printf差不多