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

1.什麼值需要關聯?

客戶端的某個請求是隨着服務器端的響應而動態變化的值,則需要關聯。

爲什麼要有關聯函數

       如果客戶端的某個請求是隨着服務器端的響應而動態變化,我們就需要用到關聯,通過關聯函數獲取動態的返回值,傳給後面的函數使用,完成測試上下文的流程串聯。

       定義:在腳本回放過程中,客戶端發出請求,通過關聯函數所定義的左右邊界值(也就是關聯規則),在服務器返回的響應內容中查找,得到相應的值,將其存儲的變量中,後續請求再通過對應變量指向的內存取出數據發給服務器發,已完成正確的業務流程的性能測試,這種動態獲得服務器響應內容的方法被稱作關聯。

 

2.web_reg_sava_param

舉例:web_reg_save_param("jws_session","LB=JWS_SESSION=\"","RB=\"",LAST);

解釋:jws_session爲關聯函數取一個別名,這個隨意;LB爲左邊界,就是你要關聯的值,左邊的內容;RB爲右邊界,就是要關聯值的右邊內容。

注意:(1)左邊界或者右邊界最好在返回值中是唯一的,避免不用關聯的值也會被關聯;

           (2)關聯函數需要放在關聯內容的前面。

 

3.左邊界、右邊界

首先說的就是web_reg_sava_param是一個註冊函數,LoadRunner實現關聯的原理是:客戶端請求,通過關聯函數定義,在響應中找到關聯的值,以變量的形式替換原腳本中的值。通過原理可以看到,關聯是在響應中找到值,所以左右邊界也是在響應中找啦。

(1)首先確保錄製回放的腳本是成功的

(2)切換到Tree目錄,找到需要關聯內容的請求,再找到需要關聯的值

LoadRunner:簡單搞定手動關聯
如上圖:可以看到關聯的user_sid,左邊界爲user_sid=",右邊界爲"

(3)在腳本中寫關聯函數

web_reg_save_param("user_sid","LB=user_sid=\"","RB=\"",LAST);

雙引號需要轉義,加了\用來轉義

LoadRunner:簡單搞定手動關聯

 

 

4.如果打印關聯的值

例如:關聯函數如下

web_reg_save_param("user_sid","LB=user_sid=\"","RB=\"",LAST);

(1)如果是中文內容,需要轉換下編碼格式

lr_convert_string_encoding(lr_eval_string("{user_sid}"),"UTF-8","gb2312","uuu");

lr_output_message("%s",lr_eval_string("{uuu}"));

(2)如果沒有中文,則直接輸出

lr_output_message("%s",lr_eval_string("{user_sid}"));

(3)如果關聯有多個內容,則可以這樣打印

lr_output_message("%s",lr_eval_string("{user_sid_1}"));   //打印第一個

lr_output_message("%s",lr_eval_string("{user_sid_2}"));   //打印第二個,以此類推

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章