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