腳本增強的總結
1、腳本採用錄製還是抓包手寫沒有本質的區別。
2、腳本增強技術,一般事務和檢查點是屬於必加的。
3、從理論上來説,參數化和關聯是要根據實際情況靈活使用的。
4、要根據需要,靈活的選擇使用思考時間和集合點技術。
參數化
三種方式:
- 選中需要參數化的值,右鍵-->replace with a parameter,然後點擊 open parameter list,設置參數的值,
- 先把參數寫入一個txt/csv文件,點擊open parameter list,從文件讀取參數,然後將需要參數化的值參數化
- 直接點擊open parameter list,使用LR的txt文檔設置參數的值
然後打開log的參數調試模式,運行查看參數使用情況
paramter type
- 函數類型:通過工具內置的、擴展的函數來生成對應的參數值。
- 文件類型:通過讀取特定的文件來獲取參數值。常規的參數文件格式都是CSV格式(以逗號分隔的文件)
參數取值方式
Update value on
用來設置參數更新參數值的時機。可選的選項有三個:
- Each Iteration:每次迭代,即每一次迭代開始的時候,參數就會去讀取或者更新參數值。在下一次迭代開始之前,不論該參數是否被調用、調用一次還是多次,參數的值都是保持不變的。該模式下,參數值的更新和迭代有關,和調用無關。參數值的更新次數等於迭代次數。
若一個迭代裏多次調用該參數,這個迭代中的參數值都是一樣的。 - Each occurrence:每次出現,所謂出現就是參數被調用。即每一次參數被調用之前,參數都會去讀取或者更新參數值。調用一次,變更一次。該模式下,參數值的更新只和調用有關,和迭代無關。參數值的更新次數等於調用次數。
若一個迭代裏多次調用該參數,這個迭代中的參數值是不一樣的。 - Once:僅一次,是指參數第一次被調用時,參數會獲取一個參數值。之後不論該參數是否被調用,參數的值都不會發生變更。參數值的更新次數等於1.
不論多少個迭代或調用,參數的值始終是一樣的。
Select next value
該選項是用來設置參數讀取參數值的方式。
- Sequential:順序取值。
- Random:隨機取值。
- Unique:唯一取值。在LR中,對於Unique的實現採取的是:先分配再順序的方式。
- 先分配:先將所有的參數值按照塊大小提前分配給每一個虛擬用户
塊大小設置在paramter type中的unique number中的block size per vuser
- 再順序:每一個虛擬用户都會按照順序取值的方式使用自己的參數值。
通過先分配再順序的方式,最低可以保障虛擬用户之間不會使用重複的值。如果分給每一個虛擬用户的值足夠多,在順序取值的基礎上,就可以保障每一個虛擬用户每一次取值都是唯一的。
- same line as XXX:該選項只有當腳本中出現2個及2個以上的文件類型的參數時才會出現。最終是參數A可以選擇: same line as 參數B這樣的操作。效果:調用參數A的時候,參數A會使用和參數B相同行號的值。該方式就是用來建立兩個參數之間的一一對應關係的。該方式不參與和 Update value on 選項的組合。
Select next value為Unique時的選項
- when out of values:out of values是指參數更新參數值的次數大於按塊所分配到的參數值的個數。該選項就是用來設置滿足該條件時的處理方式。有以下三種:
- abort vuser:中止虛擬用户,即虛擬用户會停止執行腳本。
- Continue in a clycle manner:繼續執行,循環使用所分配到的值。
- Continue with last value:繼續執行,使用最後一次的參數值。PS選擇abort,保證了每一次都是唯一的。選擇continue,則意味着放棄了唯一的訴求,只保留了分配的效果。
- Allocate:用來設置塊大小,方式有兩種:
- Auto:自動方式,僅適用於每次迭代。塊大小等於Run logic中的Number of iterations的值。
- Allocate:手動方式,由用户手動設置塊大小。
LR中參數化的注意事項
- 以記事本方式編輯參數文件時,要確保最後一個有效的參數值之後有且只有一個回車。
- 隨機取值和順序取值本質上是沒有任何區別的。
- 要實現唯一或者分配的效果,則可以使用Unique方式來實現
本文章為轉載內容,我們尊重原作者對文章享有的著作權。如有內容錯誤或侵權問題,歡迎原作者聯繫我們進行內容更正或刪除文章。