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

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

LR的參數的取值,和select next rowupdate 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按照每用戶幾個參數先分配參數,而後進行循環。
若選擇自動分配參數:
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
虛擬用戶: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

相關文章
相關標籤/搜索