個人認為LoadRunner的手動關聯技巧可以看做參數化的一種,區別在與獲取參數的來源不同。
- 一般的參數化:把腳本中一個寫死的數值或者字符串用一個變量參數來代替,每次迭代的時候,從本地文件或者數據庫中獲取不同的數值或者字符串,填入變量參數的位置,然后對服務器發起請求。
- 手動關聯:把腳本中服務器返回給用戶的SessionID(字符串)保存在一個變量里面,后面調用時直接使用使用變量而不是具體某個SessionID。
我們可以通過腳本對比的方式找到需要手動關聯的地方。
1、錄制一個腳本,一定要記住每一個操作步驟,保存為Script_1
2、錄制第二個腳本,操作步驟和第一個腳本是必須完全一致,思考時間可以不同,保存腳本為Script_2
3、打開LoadRunner自帶的WinDiff(Tools->Compare with Script),選擇要對比的腳本,打開之后兩個腳本會自動對比,不一樣的地方就會標黃,很容易看出來。

4、找到要參數化的地方之后,需要確定參數值的左右邊界,在Generation Log中搜索參數值,然后把參數值連同前后的幾個字符都復制下來。

5、這個SessionID是在登錄成功之后服務器分配的,所以要在登錄請求之前添加關聯函數。選擇菜單欄Insert->New Step,選擇web_reg_save_para或者web_reg_save_para_ex,在頁面上輸入參數名稱、左右邊界,有時候還要輸入filter等,點擊保存就會自動生成關聯函數。



6、引用變量參數,也就是在把userSession的值用{ID}替換,記得一定要加大括號才能引用。

7、參數化的步驟到上一步就已經完成了,為了驗證我們從服務器拿到的userSession確實是每次都不同的,我們可以打印出來看看,設置3次迭代。
LoadRunner打印函數:lr_log_message("ID=%s",lr_eval_string("{ID}"));
運行結果:



