若是客戶端的某個請求是隨着服務器端的響應而動態變化,咱們就須要用到關聯,經過關聯函數獲取動態的返回值,傳給後面的函數使用,完成測試上下文的流程串聯。javascript
定義:在腳本回放過程當中,客戶端發出請求,經過關聯函數所定義的左右邊界值(也就是關聯規則),在服務器返回的響應內容中查找,獲得相應的值,將其存儲的變量中,後續請求再經過對應變量指向的內存取出數據發給服務器發,已完成正確的業務流程的性能測試,這種動態得到服務器響應內容的方法被稱做關聯。html
一、 web_reg_save_param("usersession","LB=<input type=hidden name=userSession value=","RB=>",LAST);二、 web_reg_save_param("usersession","LB=<input type=hidden name=userSession value=","RB=>",「ORD=ALL」,」Savelen=18「,LAST);其中: usersession是loadrunner的參數名或者參數數組名。 LB是動態返回值的左邊界 RB是動態返回值的右邊界 ORD=ALL是選擇全部相同左右邊界的字符串都存入參數或者參數數組中 Savelen=18是要存儲的字符串的長度 LAST表述函數結束位置複製代碼
關聯函數的位置(經驗總結,非官方):通常關聯函數都是放到出現動態返回參數的錄製響應函數之上,第一個非資源和腳本的響應以前,就可能夠了java
web_url("home.html", "URL=http://127.0.0.1:1080/WebTours/home.html", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "Snapshot=t6.inf", "Mode=HTTP", LAST);web_reg_save_param("usersession","LB=<input type=hidden name=userSession value=","RB=>",LAST);//這個位置就是出現動態參數以前,第一個非資源和腳本響應的位置//web_url("nav.pl"))之下有一個js腳本和若干個圖片類資源web_url("nav.pl", "URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "Snapshot=t7.inf", "Mode=HTTP", LAST);web_concurrent_end(NULL);web_concurrent_start(NULL);web_url("JSFormSubmit.js", "URL=http://127.0.0.1:1080/WebTours/JSFormSubmit.js", "Resource=1", "RecContentType=application/x-javascript", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t8.inf", LAST);web_url("mer_login.gif", "URL=http://127.0.0.1:1080/WebTours/images/mer_login.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t9.inf", LAST);web_concurrent_end(NULL);lr_start_transaction("login-0");lr_think_time(17);web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t10.inf", "Mode=HTTP", ITEMDATA, "Name=userSession", "Value={usersession}", ENDITEM, "Name=username", "Value=test001", ENDITEM, "Name=password", "Value=123456", ENDITEM, "Name=JSFormSubmit", "Value=on", ENDITEM, "Name=login.x", "Value=53", ENDITEM, "Name=login.y", "Value=12", ENDITEM, LAST);複製代碼
web_set_max_html_param_len()函函數能夠自定義關聯返回值存放的參數的最大長度,記得必定要寫在關聯函數前面。web
Loadrunner是類C語言,所以不少注意獲取邊界的時候的轉義字符數組
轉義 | 含義 |
---|---|
\b | Backspace 鍵 |
\f | 換頁 |
\n | 換行 |
\r | 回車 |
\t | 水平製表符 |
\v | 垂直製表符 |
\' | 單引號 |
\" | 雙引號 |
\ | 反斜槓 |
\? | 文本問號 |