LR之關聯


本篇來說一下LR之關聯

這篇關於關聯闡述的很好,很全面:http://blog.163.com/pengjintaogz@126/blog/static/1622990682014630105026532/

下面我來寫下自己的理解

一、什么是關聯?

  在腳本回放過程中,客戶端發出請求,通過關聯函數定義左右邊界(也就是關聯規則),在服務器所響應的內容中查找,得到相應的值,以變量的形式替換錄制時的靜態值,從而向服務器發出正確的請求,這種動態獲得服務器響應內容的方法稱作關聯。

拿登錄來說,錄制登陸腳本,會話會產生一個唯一的session ID,但是如果回放腳本的話,服務器會重新返回一個該次會話的session ID,我們session ID如果不更新成新的session ID的話就沒辦法登錄成功。就像1年前你拿了A鑰匙開了A門,1年后所更新了,鑰匙還是原來的,即使這個人還不是你,也打不開。

二、關聯函數

  web_reg_save_param("session_name", //參數名

  "LB=name=userSession value=", //動態數據的左邊界

  "RB=>", //動態數據的右邊界

  "Ord=1", //動態數據的個數,1、2、3、4、5……all等,此處代表獲取第一個Session

  LAST);

三、如何關聯?

1.自動關聯(錄制過程中關聯)

  步驟一:定位uesrSession左右邊界。

  (1)首先我們現在錄制一個腳本,保證錄制選項滿足以下要求:常規——錄制——基於HTML的腳本——僅包含明確的URL腳本——確定;

 

 

 

  (2)更改日志顯示:Vuser——運行時設置——擴展日志,勾選服務器返回數據——確定

 

 

 

 

  (3)此時我們來回放腳本就可以在日志中看到服務器返回的userSession了(搜索userSession方法,鼠標定位在日志輸出欄,ctrl+F輸入關鍵字即可)

 

<input type=hidden name=userSession value=122171.620494127zcitcAcpHcQVzzzHDHHAfpcVzDHf>\n

 

 

  (4)此時我們就里就定位了userSession的位置了。

 

  步驟二:在錄制選項中添加關聯規則

  (1)重新錄制一個新腳本,保證“錄制選項”中選擇“基於html腳本——僅包含明確的URL腳本”

  (2)“錄制選項”中選擇關聯——勾選啟用關聯——新建應用程序——新建規則

  (3)添加文本檢查點(web_find)

  (4)“運行時設置”中啟用擴展日志——勾選服務器返回值

 

 

  (5)點擊確定,就可以錄制腳本了,此時,我們來看看使用關聯的前后對比,優勢由此可見

 

 

2.自動關聯(錄制結束后關聯)

 此種筆者不常用,用的比較多的是錄制過程中關聯

 (1)重新錄制一個新腳本,保證“錄制選項”中選擇“基於html腳本——僅包含明確的URL腳本”。

 (2)回放腳本

 (3)選擇Vuser——掃描腳本中的管理——輸出框會有關聯提示,點擊“關聯即可”

 

 

3.手動關聯

  步驟一:錄制兩遍腳本(保證“錄制選項”中選擇“基於html腳本——僅包含明確的URL腳本”;取消啟用關聯;

    “運行時設置”中啟用擴展日志——勾選服務器返回值)

  步驟二:使用WinDiff工具找出兩次腳本的不同,判斷是否需要進行關聯(工具——與腳本比較),忽略思考時間(lr_think_time())

 

 

 

 

  步驟三:通過比較uesrSession不一致,添加關聯函數,關聯函數是注冊型函數,一般插在所有函數的最前面。

  步驟四:插入——添加步驟——選擇web_reg_save_param函數,填寫左右邊界即可(此項可生成函數,亦可直接在代碼中手動編寫代碼)

    web_reg_save_param("ChangeSession",

      "LB=name=userSession value=",

      "RB=>",

      LAST);

     

 

   步驟五:將腳本中變動的userSession替換為關聯函數的參數

 

 

 

  步驟六:回放腳本,添加並啟用檢查點,查看回放結果。

 

 

 

到此,關於關聯的應用就講完了,平時使用的話手動關聯還是比較多的。有疑問歡迎留言!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM