1. 程式人生 > >Loadrunner--參數化知識點及參數池策略

Loadrunner--參數化知識點及參數池策略

重復 如何 index 自動 upd unique 用戶名 表示 date

一、為何進行腳本參數化? 腳本在錄制的時候,記錄的參數都是常量值,這樣,虛擬用戶在執行同一個腳本,向服務器發送請求時,使用的都是同一個參數值,與實際不符。所以使用參數化技術。 二、參數化的邏輯? 對腳本中的常量進行參數化,讓不同的VU在執行相同的腳本時,分別使用參數數據源中的不同數據來代替這些常量,從而達到模擬多用戶真實使用系統的目的。 三、腳本參數化的步驟? 1.確定需要參數化的數據 2.準備數據 3.參數化 四、如何進行參數化?

1、把需要參數化的用戶名選中,右擊鼠標,選中replace with a parameter,如下圖-44所示:

技術分享

圖-1

2、把參數名稱改為username,如下圖-45所示:

技術分享

圖-2

3、選中要參數化的密碼,右擊鼠標,選中replace with a parameter,如下圖-46所示:

技術分享

圖-3

4、把參數名稱改為passwd,如下圖-47所示:

技術分享

圖-4

5、參數化的代碼為下圖-48所示:

技術分享

圖-5

五、參數池策略

1.select next now(取值方式 ? who?)

(1)順序:對於每個VU,都是從第一行開始,順序(依次)向下取值--------每個VU取值序列相同 (2)唯一:對於每個VU,從第一行開始,唯一的依次向下取值--------每個VU取值序列不同 規律:如果是單用戶,順序和唯一的取值序列相同 (3)隨機:每個VU都可隨機取值,可重復 (4)和XX步調一致:和XX參數取值行相同 2.Update Value on(如何取? when?) (1)每次叠代:每次腳本循環(Action)時更新參數值 (2)每次遇到:腳本運行時,只要遇到即更新參數值(每次遇到=每次叠代次數*n(n表示腳本Action中參數出現的次數)) 規律:對於單用戶,如果腳本中某參數只出現一次,每次叠代和每次遇到的取值序列相同 (3)只取一次:一次取值,從不改變 說明:Once整個過程不改變;Random:任意取值 (4)out of value(越界策略--參數池策略不夠時unique) <1>放棄VU:直接放棄該虛擬用戶,會報錯 <2>以循環的方式繼續:循環從第一行開始 <3>以最後一個值繼續:一直使用最後一個值

=================================================================================

參數池策略練習:
題目一:某參數現有備份數據a1,a2,a3...a30;Action中實現3次for循環;腳本叠代2次(不打開控制臺),完成以下結果:
1.順序+每次叠代:a1 a1 a1,a2 a2 a2
每次叠代時換值,每次叠代使用3次
2.唯一+每次叠代:a1 a1 a1,a2 a2 a2
單用戶,順序和唯一是一樣的;叠代時換值
3.隨機+每次叠代:a12 a12 a12,a9 a9 a9
每次叠代取隨機值
4.順序+每次遇到:a1 a2 a3,a4 a5 a6
只要遇到name就換值,從第一個開始
5.唯一+每次遇到:a1 a2 a3,a4 a5 a6
單用戶,順序和唯一是一樣的;
考慮超過值時,關註block塊大小
對於單用戶,無需關註塊大小,多用戶(控制臺)才考慮
改為:外循環5次(run-time setting),內循環10次(for循環)
要準備充足的數據
when out value:
1.Abort Vuser放棄VU:報告出錯
Action.c(7): Error: Parameter ‘name‘: No more unique values for this parameter in table ‘name.dat‘
[unique range is 1-30]. The Vuser is aborted according to "When Out Of Values" policy.
2.continue in a cyclic manner繼續從頭再來:不會出錯,正常取值
3.continue with last value持續最後一個:結果正常,日誌報錯
Action.c(7): Error: Parameter ‘name‘: No more unique values for this parameter in table ‘name.dat‘
[unique range is 1-30].The parameter continues with last value of the range according to "When Out Of Values" policy.
6.隨機+每次遇到:a13 a19 a2,a27 a30 a4
一共遇到2*3=6次,隨機取值
7.順序+一次:a1 a1 a1,a1 a1 a1
8.唯一+一次:a1 a1 a1,a1 a1 a1
9.隨機+一次:a8 a8 a8,a8 a8 a8
題目二:某參數現有備份數據a1,a2,a3...a30;腳本叠代4次;3個VU;完成以下結果:

1.順序+每次叠代:<重要>
VU1:a1 a2 a3 a4;
VU2:a1 a2 a3 a4;
VU3:a1 a2 a3 a4;
2.唯一+每次叠代:(無特殊說明,塊大小自動分配)<重要>
VU1:a1 a2 a3 a4;
VU2:a5 a6 a7 a8;
VU3:a9 a10 a11 a12;
從第一行開始取值,每個VU都不同;每個VU叠代4次,取值4次(默認塊大小為4)
3.隨機+每次叠代:<重要>
VU1:a11 a15 a3 a27;
VU2:a5 a10 a7 a22;
VU3:a21 a11 a15 a12;
4.順序+每次遇到:
VU1:a1 a2 a3 a4;
VU2:a1 a2 a3 a4;
VU3:a1 a2 a3 a4;
5.唯一+每次遇到:(塊大小為6)<重要>
VU1:a1 a2 a3 a4;
VU2:a7 a8 a9 a10;
VU3:a13 a14 a15 a16;
6.隨機+每次遇到:
VU1:a9 a15 a3 a17;
VU2:a5 a17 a6 a22;
VU3:a21 a11 a2 a12;
7.順序+一次:<重要>
VU1:a1 a1 a1 a1;
VU2:a1 a1 a1 a1;
VU3:a1 a1 a1 a1;
每個VU取值一樣,都從第一個開始
8.唯一+一次:<重要>
VU1:a1 a1 a1 a1;
VU2:a2 a2 a2 a2;
VU3:a3 a3 a3 a3;
從第一個開始,每個VU唯一向下取值,每個VU取值後不變
9.隨機+一次:<重要>
VU1:a4 a4 a4 a4;
VU2:a16 a16 a16 a16;
VU3:a9 a9 a9 a9;
10.唯一+每次叠代:(塊大小為6)
VU1:a1 a2 a3 a4;
VU2:a7 a8 a9 a10;
VU3:a13 a14 a15 a16;

Loadrunner--參數化知識點及參數池策略