LR的參數的取值,和select next row和update value on的設置都有密不可分的關係。下表給出了select next row和update value on不一樣的設置,對於LR的參數取值的結果將不一樣,給出了詳細的描述。html
Select next rowdom |
Update Value onpost |
實際運行結果url |
sequentialspa |
each iterationhtm |
在某次循環中全部用戶取值相同。全部用戶第一次循環取第一行值,第二次循環取第二行值blog |
each occurrenceci |
在某次循環中或者腳本中使用參數的地方,全部用戶取值相同。腳本中出現要使用參數的話,參數值就更新一次,循環一次值再更新一次。get |
|
onceit |
在全部的循環中全部用戶取值相同。 |
|
random |
each iteration |
不一樣的用戶,在不一樣的循環次數中,隨機取值 |
each occurrence |
不一樣的用戶,腳本中出現要使用參數的話,隨機取值一次,循環一次再隨機取值一次 |
|
once |
不一樣的用戶,無論循環多少次,只隨機取值一次。 |
|
unique |
each iteration |
若選擇手工自配參數,那LR按照每用戶幾個參數先分配參數,而後進行循環。 |
each occurrence |
只能手工分配用戶,給每一個用戶分配好X個參數後,在腳本中有參數的地方,就使用已經分配好的X個參數。 |
|
once |
按照用戶數分配給每一個用戶分配一個參數而已。之後的循環這個用戶就使用這一個參數 |
數據:A、B、C
虛擬用戶:Vuser一、Vuser二、Vuser3
腳本中參數出現三次,腳本迭代三次
怎樣取下一行數據?
Sequential:順序,全部虛擬用戶按照順序讀取數據表
Random:隨機,全部虛擬用戶隨機形式讀取數據表
Unique:惟一,全部虛擬用戶每次各取一值(不重複)
何時訪問數據表完成數據更新?
Each iteration:每次迭代之後
Each occurrence:每次出現參數
Once:每出現一個虛擬用戶
實例:
順序
Sequential + Each iteration
第一次迭代 不管參數任什麼時候候出現 Vuser一、Vuser二、Vuser3 取A
第二次迭代 不管參數任什麼時候候出現 Vuser一、Vuser二、Vuser3 取B
第三次迭代 不管參數任什麼時候候出現Vuser一、Vuser二、Vuser3 取C
Sequential + Each occurrence
第N次迭代 參數第一次出現 Vuser一、Vuser二、Vuser3 取A
第N次迭代 參數第二次出現 Vuser一、Vuser二、Vuser3 取B
第N次迭代 參數第三次出現 Vuser一、Vuser二、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次迭代 第一次遇到該參數 Vuser一、Vuser二、Vuser3在A、B、C中隨機抽取一個
第N次迭代 第二次遇到該參數 Vuser一、Vuser二、Vuser3從新在A、B、C中隨機抽取一個
第N次迭代 第三次遇到該參數 Vuser一、Vuser二、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取IUnique + Each occurrence第一次迭代 第一次出現該參數 Vuser1取A Vuser2取D Vuser3取G第一次迭代 第二次出現該參數 Vuser1取B Vuser2取E Vuser3取H第一次迭代 第三次出現該參數 Vuser1取C Vuser2取F Vuser3取IUnique + Once不管進行多少次迭代 不管參數任什麼時候候出現 Vuser1取A Vuser2取B Vuser3取C