轉-LR中select next row和update value on的設置
LR的參數的取值,和select next row和update value on的設置都有密不可分的關系。下表給出了select next row和update value on不同的設置,對於LR的參數取值的結果將不同,給出了詳細的描述。
Select next row |
Update Value on |
實際運行結果 |
sequential |
each iteration |
在某次循環中所有用戶取值相同。所有用戶第一次循環取第一行值,第二次循環取第二行值 |
each occurrence |
在某次循環中或者腳本中使用參數的地方,所有用戶取值相同。腳本中出現要使用參數的話,參數值就更新一次,循環一次值再更新一次。 |
|
once |
在所有的循環中所有用戶取值相同。 |
|
random |
each iteration |
不同的用戶,在不同的循環次數中,隨機取值 |
each occurrence |
不同的用戶,腳本中出現要使用參數的話,隨機取值一次,循環一次再隨機取值一次 |
|
once |
不同的用戶,不管循環多少次,只隨機取值一次。 |
|
unique |
each iteration |
若選擇手工自配參數,那LR按照每用戶幾個參數先分配參數,然後進行循環。 |
each occurrence |
只能手工分配用戶,給每個用戶分配好X個參數後,在腳本中有參數的地方,就使用已經分配好的X個參數。 |
|
once |
按照用戶數分配給每個用戶分配一個參數而已。以後的循環這個用戶就使用這一個參數 |
數據:A、B、C
虛擬用戶:Vuser1、Vuser2、Vuser3
腳本中參數出現三次,腳本叠代三次
怎樣取下一行數據?
Sequential:順序,所有虛擬用戶按照順序讀取數據表
Random:隨機,所有虛擬用戶隨機形式讀取數據表
Unique:唯一,所有虛擬用戶每次各取一值(不重復)
什麽時候訪問數據表完成數據更新?
Each iteration:每次叠代以後
Each occurrence:每次出現參數
Once:每出現一個虛擬用戶
實例:
順序
Sequential + Each iteration
第一次叠代 無論參數任何時候出現 Vuser1、Vuser2、Vuser3 取A
第二次叠代 無論參數任何時候出現 Vuser1、Vuser2、Vuser3 取B
第三次叠代 無論參數任何時候出現Vuser1、Vuser2、Vuser3 取C
Sequential + Each occurrence
第N次叠代 參數第一次出現 Vuser1、Vuser2、Vuser3 取A
第N次叠代 參數第二次出現 Vuser1、Vuser2、Vuser3 取B
第N次叠代 參數第三次出現 Vuser1、Vuser2、Vuser3 取C
Sequential + Once
無論如何所有用戶都取A
隨機
Random + Each iteration
第N次叠代 無論遇到該參數多少次 Vuser1都只取A,或者B,又或者C,本次叠代不再更新
第N次叠代 無論遇到該參數多少次 Vuser2都只取A,或者B,又或者C,本次叠代不再更新
第N次叠代 無論遇到該參數多少次 Vuser3都只取A,或者B,又或者C,本次叠代不再更新
在N+1次叠代,每個Vuser重新隨機抽取數據
Random + Each occurrence
第N次叠代 第一次遇到該參數 Vuser1、Vuser2、Vuser3在A、B、C中隨機抽取一個
第N次叠代 第二次遇到該參數 Vuser1、Vuser2、Vuser3重新在A、B、C中隨機抽取一個
第N次叠代 第三次遇到該參數 Vuser1、Vuser2、Vuser3重新在A、B、C中隨機抽取一個
在N+1次叠代,每個Vuser繼續保持每遇到一次參數就重新抽取一次數據
Random + Once
第N次叠代 無論遇到該參數多少次 Vuser1都只取A,或者B,又或者C
第N次叠代 無論遇到該參數多少次 Vuser2都只取A,或者B,又或者C
第N次叠代 無論遇到該參數多少次 Vuser3都只取A,或者B,又或者C
在N+1次叠代,每個Vuser不會重新抽取數據
唯一
註意:使用該Unique類型必須註意數據表有足夠多的數。
比如Controller 中設定20 個虛擬用戶進行5 次循環,那麽編號為1 的虛擬用戶取前5個數,編號為2 的虛擬用戶取6-10 的數,依次類推,這樣數據表中至少要有100個數據,否則Controller 運行過程中會返回一個錯誤。
因此以下例子在數據表中加入數據D、E、F、G、H、I。
Unique + Each iteration
第一次叠代 無論參數出現多少次 Vuser1取A Vuser2取D Vuser3取G
第二次叠代 無論參數出現多少次 Vuser1取B Vuser2取E Vuser3取H
第三次叠代 無論參數出現多少次 Vuser1取C Vuser2取F Vuser3取I
Unique + Each occurrence
第一次叠代 第一次出現該參數 Vuser1取A Vuser2取D Vuser3取G
第一次叠代 第二次出現該參數 Vuser1取B Vuser2取E Vuser3取H
第一次叠代 第三次出現該參數 Vuser1取C Vuser2取F Vuser3取I
Unique + Once
無論進行多少次叠代 無論參數任何時候出現 Vuser1取A Vuser2取B Vuser3取C
轉-LR中select next row和update value on的設置