web_reg_save_param关联函数的2种取随机值的方法
上一篇 /
下一篇 2012-07-03 15:42:36
/ 个人分类:LoadRunner
LoadRunner 在具体执行测试的时候,往往web_reg_save_param的结果集中有许多参数。例如,
web_reg_save_param("omsOrderSysId",
"LB=omsOrderSysId=",
"RB=\"",
"ord=all",
LAST);
omsOrderSysId 中就可能有10个omsOrderSysId,类似的情况常见于条目列表展示页中。
而在实际的测试中,我们后续的操作往往会任意取用其中一条omsOrderSysId,本文就是描述实现如上操作的2种方法。第一种方法lr_paramarr_random函数在9.X以后的版本才有
方法一:使用LoadRunner封装的函数lr_paramarr_random()
//注册函数web_reg_save_param()获得结果集 注意函数中的 中英文 双引号
char id;
web_reg_save_param("omsOrderSysId",
"LB=omsOrderSysId=",
"RB=\"",
"ord=all",
LAST);
//从omsOrderSysId中任意取一个值,保存到变量id中
lr_save_string(lr_paramarr_random(“omsOrderSysId”),”id”);
//使用id
web_url("open the detail page",
"URL=http://……………/omsOrder/detail.do?omsOrderSysId={id}",
"Resource=0",
"RecContentType=text/html",
"Referer=http://……………/omsOrder/list.do",
"Snapshot=t46.inf",
"Mode=HTTP",
LAST);
方法二:使用c语言实现
int count; //定义变量,以便存取web_reg_save_param()的结果集的个数
char ch[100]; //定义一个数组,以便于后边存放web_reg_save_param()的某一结果
//注册函数web_reg_save_param()获得结果集
web_reg_save_param("omsOrderSysId",
"LB=omsOrderSysId=",
"RB=\"",
"ord=all",
LAST);
count = atoi(lr_eval_string(“{omsOrderSysId}”));
if(count != 0)
{
sprintf(ch,”{omsOrderSysId_%d}”,rand()%count+1); //任意取一值存到数组ch中
lr_save_string(lr_eval_string(ch),”id”); //把该值保存到变量id中
//使用id
web_url("open the detail page",
"URL=http://……………/omsOrder/detail.do?omsOrderSysId={id}",
"Resource=0",
"RecContentType=text/html",
"Referer=http://……………/omsOrder/list.do",
"Snapshot=t46.inf",
"Mode=HTTP",
LAST);
}
else
{
lr_output_message(“The id don’t exist”);
}
收藏
举报
TAG: