loadRunner脚本设计常用函数
//迭代 每完整的运行一次测试脚本就是一次迭代
常用函数
lr_output_message("abc"); #将"abc"输出到回放日志中
lr_save_string("abc","testStr"); #将"abc"赋值给一个名为testStr的参数
lr_eval_string("{testStr}"); #取得参数名为testStr的参数的值
lr_paramarr_random("TestPrams"); #随机取得关联参数TestPrams的任一值
#将当前日期+1天按照%m/%d/%Y格式赋值给参数Date_Param
lr_save_datetime("%m/%d/%Y",DATE_NOW+ONE_DAY,"Date_Param");
检查点
#在该函数之后的代码的返回中查找ABC,如果找到,就将计数保存到参数count中
web_reg_find("Text=ABC","SaveCount=count",LAST);
关联
web_reg_save_param("sessionId","LB=userSession value=","RB=>","ORD=ALL","Notfound=empty",LAST);
"sessionId"为与匹配内容相关联的参数名,用于获取和使用匹配值
"LB=userSession value="中userSession value=为匹配规则的左边界匹配规则
"RB=>"中的>为匹配规则的右边界匹配规则
"ORD=ALL"表示当匹配值为多个时,匹配所有的值保存到参数名_1...参数名_N的参数中,参数名_count的值为匹配所有值的数量
"Notfound=empty"表示当匹配不到值的时候,不报错,并且默认参数名_count的值为0
</ 将代码块定义为一个事务,KeyWord代表事务结束的状态
lr_start_transaction("login");
代码块
lr_end_transaction("login",KeyWord);
KeyWord中
LR_AUTO #自动判断状态
LR_PASS #事务成功
LR_FAIL #事务失败
/>
strcpy(a,"def"); #将"def"赋值给变量a
strcmp(a,b) #比较a,b两个字符串,如果相等,返回值为0,如果不为0,则不相等
strcat(a,b); #将a和b进行字符串拼接,并且将拼接后的值赋值给a
sprintf(a,"123_%s_%d_321","abc",9); #a="123_abc_9_321",将"123_%s_%d_321"中的%s替换成"abc",%d替换成9,并赋值给a
</ 将字符转换成整型i=123
int i;
char *a = "123 bbb";
i=atoi(a);
/>
</ 将整型转换成字符
int i;
char tmpStr[1024];
i = 123;
itoa(i,tmpStr,10); #10为进制
lr_output_message(tmpStr);
输出结果为"123"
/>
lr_rendezvous("name"); #集合点设置
web_custom_request("name","URL=请求地址","Method=请求方法(GET OR POST)","Body=请求内容"); #提交请求
</ 判断语句
if判断
如果满足条件a,则执行代码a,不执行代码b、c,
如果满足条件b,则执行代码b,不执行代码a、c,
如果条件a、b都不满足,则执行代码c
else if可以多个
例:
if(条件a){
代码a
}
else if(条件b){
代码b
}
else{
代码c
}
switch语句
如果i等于a,则执行代码a、b、c,
如果i等于b,则执行代码b、c,
如果i不等于a、b,则执行代码c
如果i等于a,且代码a中有break,则只执行代码a,不执行代码b、c
break用于跳出
例:
switch(i){
case a:
代码a
case b:
代码b
default:
代码c
}
/>
++i和i++,运算结果一致,但是++i是先运算再输出,i++是先输出再运算
</ 循环语句 循环中break跳出循环,continue继续循环
while循环
需要满足循环条件,才执行循环内代码
例:
while(循环条件){
代码
}
do while循环
如果不满足循环条件,则只执行一次循环内代码,
如果满足循环条件,则持续循环到不满足循环条件为止。
例:
do{
代码
}while(循环条件);
for循环
例:
int i;
for(i=0;i<n;i++){
代码
}
/>