1. 程式人生 > >轉-LR中select next row和update value on的設置

轉-LR中select next row和update value on的設置

循環多少次 for 完成 AD vuser rowspan date 取數 con

LR的參數的取值,和select next rowupdate 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按照每用戶幾個參數先分配參數,然後進行循環。
若選擇自動分配參數:
Controller中edit schedule中run until comletion:按照循環次數先分配第一個VU(例如設置的循環次數為3,那分配給第一個VU 3個參數值),然後接下來的3個參數值分配給第二個VU,依次類推…...
Controller中edit schedule中run for:若選擇自動分配,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的設置