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


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

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

Loadrunner中參數化設置 - 王小白 - 王新宇的博客

圖-1

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

Loadrunner中參數化設置 - 王小白 - 王新宇的博客

圖-2

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

Loadrunner中參數化設置 - 王小白 - 王新宇的博客

圖-3

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

Loadrunner中參數化設置 - 王小白 - 王新宇的博客

圖-4

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

Loadrunner中參數化設置 - 王小白 - 王新宇的博客

圖-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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM