在LoadRunner中从数组类型的参数随机取值的方法
使用web_reg_save_param做关联后,有时候会有多个匹配值。
为了模仿用户行为随机取一个值为后续transcation所用,可以使用lr_paramarr_random函数。
例如:
web_reg_save_param("EntryID",
"LB=_41\"\>\<nobr\>",
"RB=\<",
"Ord=All",
"NOTFOUND=WARNING",
LAST);
...
lr_save_string(lr_paramarr_random("EntryID"), "EntryID_Preview");
上例中EntryID有多个值,以array存在。而EntryID_Preview便从中随机地取一个值。
lr_paramarr_random实例(关联参数随机取值)
关联参数取值时,若太多值,需要处理一下,介绍一个函数可直接随即取一个值,方便易理解,这是拿电脑报价做的一个简单的例子。 Action()
{ int count;
char * Value;
char str[10]; lr_think_time(1); web_reg_save_param("sid",
"LB=<a href=\"?sId=",
"RB=&aId=100\">",
"Ord=All",
"NotFound=ERROR",
LAST); web_url("192.168.74.4:8081",
"URL=http://192.168.74.4:8081/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
LAST); //统计参数个数
count = atoi(lr_eval_string("sid_count")); //加判断,如果没有取到参数,就返回,或给一个固定值
if(count = 0){ return;
} //在所有的参数中随即取一个值,赋给一个变量,注意这里的Value只是变量,而不是LR所认可的参数值
Value = lr_paramarr_random("sid"); lr_output_message("Value=%s",Value); lr_save_string(Value,"str");//保存一个非空的值到一个参数里 lr_think_time(1); web_url("蓝牙耳机",
"URL=http://192.168.74.4:8081/?sId={str}&aId=100",
"Resource=0",
"RecContentType=text/html",
"Referer=http://192.168.74.4:8081/",
"Snapshot=t2.inf",
"Mode=HTTP",
LAST); return 0;
}