天天看點

參數化設定

lr在錄制程式運作的過程中,vugen(腳本生成器) 自動生成了包含錄制過程中實際用到的數值的腳本,如果你企圖在錄制的腳本中使用不同的數值執行腳本的活動(如查詢、送出等等),那麼你必須用參數值取代錄制的數值,這個過程叫做參數化。

以下為參數化過程:

參數化設定

參數化過程比較簡單,參數化時複雜的是對參數屬性的設定。主要是以下兩個屬性的組合。

select  next row 中有三個選項:  sequential(順序讀取)、random(随機讀取)、unique (唯一)

update the value 中也有三個選項:  each occurrence(每次遇到 )、  each iteration(每次疊代  )、 once(一直 )

這兩個屬性可以有九種組合方式,每種方式都不一樣。接下來我們就用一個小執行個體來驗證一下每種取值方式的效果。

錄制一個lr自帶執行個體webtours的定單腳本。腳本中将出發城市與到達城市均參數化一下。參數化後還需做個關聯(這個就重點說了)保證回放腳本成功。

設定10個使用者并發持續加載的場景(參數檔案中有10個資料),用預設設定均可。即每15秒加載兩個使用者,持續時間為5分鐘,每30秒停止5個使用者。

然後并發跑腳本。

以下為9種組合的測試結果:

(1)sequential       once

十個使用者 每個使用者取值均一樣,,每個使用者的所有疊代中的取值均一樣。

第一個使用者執行了5次疊代,每次疊代均取得第一個參數。

第二個使用者也執行了5次疊代,每次疊代均取的第一個參數。

第三個。。第四個。等等十個使用者均一樣。

 (2)unique      once

  十個使用者 每個使用者取值都唯一,每個使用者的所有疊代中的取值均一樣。

 第一個使用者執行了5次疊代,每次疊代均取第一個參數;

 第二個使用者執行了5次疊代,每次疊代均取第二個參數;

 第三個。。。第四個。。。依此類推。

 第十個使用者執行了5次疊代,每次疊代均取第十個參數。

(3)random  once

十個使用者,每個使用者為随機取值,每個使用者的所有疊代中的取值均一樣。

第一個使用者執行了5次疊代,每次疊代均取第三個參數;

第二個使用者執行了5次疊代,每次疊代均取第七個參數;

第三個。。。第四個。。。依此類推十個使用者随機取值。

(4)sequential      each iteration

 十個使用者,每個使用者每次疊代取一個新值。

第一個使用者,第一疊代,取第一個參數 ;第二次疊代,取第二個參數 。。。。第十次疊代,取第十個參數。

第二個使用者,第一次疊代,取第一個參數;第二次疊代,取第二個參數 。。。。第十次疊代,取第十個參數。

第三個。。第四個。。。依此類推。

(5)unique     each iteration

由于隻設定了十個參數,運作過程中報參數不足的錯誤。

第一個使用者,第一次疊代,取第一個參數;第二次疊代報錯。。。第十次疊代報錯。

第二個使用者,第一次疊代,取第二個參數;第二次疊代報錯。。。第十次疊代報錯。

第三個。。第四個。。依此類推。

如果修改為100個參數則:

第二個使用者,第一次疊代,取第十一個參數;第二次疊代,取第十二個參數 。。。。第十次疊代,取第二十個參數。

(6)random     each iteration

十個使用者,每個使用者每次疊代均随機去一個值。

第一個使用者,第一疊代,取第一個參數 ;第二次疊代,取第四個參數 。。。。第十次疊代,取第七個參數。

第二個使用者,第一次疊代,取第三個參數;第二次疊代,取第二個參數 。。。。第十次疊代,取第一個參數。

(7)sequential        each ocurrance

十個使用者,每個使用者每次遇到均取一個值。

第一個使用者,第一次疊代,每次遇到順序取一個值;第二次疊代,按順序接着取值。。。。。

第二個使用者,第一次疊代,每次遇到順序取一個值(從第一個參數開始);第二次疊代,按順序接着取值。。。。。

依此類推。

(8) unique          each occurrance

 十個使用者,每個使用者每次遇到均取一個不同的值。

 參數清單中要有足夠的參數。

(9) random       each occurrance

十個使用者,每個使用者每次遇到随機取一個值。

第一個使用者,第一次疊代,每次遇到随機取一個值,第二次疊代,随機再取值。。。。。

第二個使用者,第一次疊代,每次遇到随機取一個值,第二次疊代,随機再取值。。。。。

總之,主要區分 sequential 、unique、random 的差別。

sequential為順序取,每個使用者均從第一個參數開始取值。

unique為唯一,每個使用者取值均不同。

random 為随機,每個使用者均随機取值。

來源:http://www.cnitblog.com/stomic/archive/2013/11/25/88836.html