摘要:Loadrunner是一種很好的性能測試工具,它經過對建立Vuser腳本、定義場景、運行場景、分析結果四大模塊來進行性能負載測試。html
在回放腳本時有時會出現運行不成功的狀況,有多是由於以前所錄製的參數與現實的不一致的緣由,好比說Session不一致的狀況。這種狀況下能夠利用關聯來解決web
關聯:客戶端須要從服務端返回的數據中獲取部分數據,並將這部分數據處理後做爲本身下一次請求的一部分發出服務器
session:session
一、客戶端發送請求登錄頁面函數
二、服務器返回登錄頁面及會話ID即SessionID工具
三、客戶端再次發送請求時把SessionID做爲標識一塊兒發出性能
自動關聯:測試
一、在回放失敗頁上點擊「Show and resolve dynamic server values」網站
二、接上一操做,選擇Correlation Results中的Action進行Correlationspa
手動關聯:
主要操做步驟:
一、 「找到須要關聯的字符串及其詳細信息」
二、 「添加 web_reg_save_param_* 函數」
三、 「使用參數替換數據」
具體操做實例:HP Loadrunner自帶HP Web Tours網站關聯會話ID問題
一、設置錄製腳本爲全部request和response:Tools->Reording Options->Recording->URL-based script
二、錄製兩次腳本,使用WDiff進行比較,即在第二次錄製後,選擇:Tools->Compare with script,選擇第一次所保存的腳本
WDiff 中顯示的小黃條即兩次腳本不一致的地方,小黃條中的紅色即具體不一樣的地方(PS,若是沒有看到紅色標識能夠選擇:Options->View->Show Inline Differences)
三、複製當前腳本與原腳本不一致的地方,回到Generation Log中查找,看是哪個response返回這個不一致的值,再記錄此值出如今response的位置和先後值,查找是哪一個request引發返回
四、單擊「View Script」,在3中查找到的函數前增長關聯註冊函數,在請求函數後的響應中查找所須要的值
以下如示,Session爲參數名,LR爲響應中參數值的左值,RB爲響應中參數值的右值,Search=Body表示參數值在Response中的位置是在Body中
web_reg_save_param("Session", "LB=value=", "RB=>", "Search=Body", LAST);
五、把腳本中所用到此參數值的數據進行修改:
以下圖中的:{Session}
web_submit_data("login.pl", "Action=http://localhost:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://localhost:1080/WebTours/nav.pl?in=home", "Snapshot=t2.inf", "Mode=HTML", ITEMDATA, "Name=userSession", "Value={Session}", ENDITEM, "Name=username", "Value=jojo", ENDITEM, "Name=password", "Value=bean", ENDITEM, "Name=JSFormSubmit", "Value=on", ENDITEM, LAST);
再次運行,正常運行嘍!