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