[原創]Loadrunner關聯原理/方法/關聯函數/技術介紹
一Loadrunner關聯原理:
為什麼要進行關聯操作:
如果用戶端的某個請求是隨著伺服器端的相應而動態變化的時候,我們就需要用到關聯;
關聯操作原理:
在指令碼回放過程中,用戶端發出請求,通過關聯函數所定義的左右邊界值(也就是關聯規則),在伺服器所響應的內容中尋找,得到相應的值,已變數的形式替換錄製時的靜態值,從而向伺服器發出正確的請求,這種動態獲得伺服器響應內容的方法被稱作關聯。
二Loadrunner關聯方法:
Loadrunner關聯的方法常見的有三種:
1自動關聯:
原理是對同一個指令碼運行和錄製時的伺服器返回進行比較,來自動尋找變化的部分,並且提示是否產生關聯。但是缺點是無法對特殊規則動態資料進行關聯
備忘:使用自動關聯前,指令碼必須要先運行一次。
2手動關聯;
手動關聯是通過函數web_reg_save_param()
3邊錄邊關聯
啟用系統預設提供的自動關聯設定;
備忘:如果使用邊錄邊關聯,需要開啟此功能,在關聯設定選項中勾選;
三Loadrunner關聯函數:
關聯函數web_reg_save_param 簡介,請參考Loadunner協助文檔;
四Lodrunner關聯操作步驟:
1確定需要關聯的動態資料;
2在請求返回中找到動態資料的左右邊界;
3設定捕捉返回的請求符合的邊界值;
4將關聯的出的值提供給後續請求頁面使用;
五Loadrunner關聯技術執行個體:
1Lodrunner樣本關聯指令碼;
六Lodrunner關聯注意事項:
1關聯函數是一個註冊函數,所以該函數必須要寫在請求前,否則就會提示無法獲得關連接果的錯誤;
2關聯函數的作用是通過一種規則將伺服器的返回儲存到一個參數中,所以為查看參數的內容,應勾選參數取值的日誌選項;
3動態資料需要關聯的伺服器返回資訊一般都儲存在HTML中,所以關聯函數設定中將將Search In=Noresource,也就是只需要關聯HTML、XML等資源;
4關聯函數修改通常可以直接在代碼上修改或是在Tree模式下,關聯函數設定上修改;
5使用自動關聯前,指令碼必須要先運行一次。
6自動關聯的缺點是無法對特殊規則動態資料進行關聯
7關聯操作時經常出現的錯誤:
Action.c(20): Error -26377: No match found for the requested parameter "mayingbao". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 1024 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]
解決方案:
web_set_max_html_param_len()函數可以自訂關聯傳回值存放的參數的最大長度,記得一定要寫在關聯函數前面;
8如果使用邊錄邊關聯,需要開啟此功能,在關聯設定選項中勾選;
10關聯函數轉義符:
轉 義 內 容 |
說 明 |
\b |
Backspace 鍵 |
\f |
換頁 |
\n |
換行 |
\r |
斷行符號 |
\t |
水平定位字元 |
\v |
垂直定位字元 |
\' |
單引號標記 |
\" |
雙引號標記 |
\\ |
反斜線 |
\? |
文本問號 |