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