測者的性能測試手冊:一分鐘掌握LoadRunner關聯函數應該放在那

爲何要有關聯函數

若是客戶端的某個請求是隨着服務器端的響應而動態變化,咱們就須要用到關聯,經過關聯函數獲取動態的返回值,傳給後面的函數使用,完成測試上下文的流程串聯。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 垂直製表符
\' 單引號
\" 雙引號
\ 反斜槓
\? 文本問號


關注測者,關注測試

相關文章
相關標籤/搜索