初涉LR,關聯

摘要: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);

再次運行,正常運行嘍!

相關文章
相關標籤/搜索