在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; }