腳本增強的總結

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方式來實現