LR學習筆記---參數設置
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 爲隨機,每個用戶均隨機取值。