腳本優化-場景中的參數化取值
by:授客 QQ:1033553122
Action()
{
lr_eval_string("{NewParam}");
return 0;
}
參數設定:
舉例說明
打開Tools>Create
Controller Scenario選項,彈出如下圖,選中Manual
Scenario(手工場景),虛拟使用者數為5個,其他選項使用預設
點選上圖的OK,打開如下界面
Schedule設定
2、Run-Time
Settings->Log,打開日志
注意:
確定Log
options是Always
send message,并且選中Parameter
substitution,否則在場景日志中看不到參數取值的結果
3.确認測試結果目錄。打開Results-
>Results Settings,設定生成的測試報告所在目錄及對應的結果名。如下圖
4.運作整個場景,單擊Start
Scenario按鈕或者按F5鍵。幾秒中後腳本就執行完,到對應目錄下,檢視日志檔案(也可以在場景中直接檢視),檔案名形式:腳本名_使用者編号.log的形式。幾個使用者就會有幾個檔案,如果腳本出錯,對應該使用者的日志就不會生成。
步驟5:在Run
Logic中設定疊代次數2,然後運作腳本,接着看不同的取值方式在場景中的效果
注意:如果需要修改場景腳本執行的iteration,必須在Controller的Run-
time Settings中進行修改,而不能修改VuGen中的Run-time
Settings
順序取值
随機取值
唯一取值
當選擇Unique取值時,在Parameter
List裡面會有一個新的選項,Allocate
Vuser values in the Controller,三種情形,分别按如下設定
運作結果:
更改參數配置,添加值:N,如下,再測試
說明:
1、在Unique這種選項下,虛拟使用者之間的取值是不同的,并且遵守唯一性取值,如果使用者配置設定不到該值,那麼就提示錯誤!
2、Continue
in cycle manner:缺少參數值時,循環取值,特别要注意的是,僅在每個使用者擷取到的參數值範圍内進行循環,見上述運作結果,比如Vuser2,擷取到3個參數值,D,E,甲,第一次疊代,擷取DE,第二次疊代,可擷取的參數值僅有甲,還少一個,咋辦?按政策,從頭開始取,取D,這裡的頭不是從A開始的,而是配置設定Vuser2的參數值中的第一個,同理下面的Continue
with the last Value也不是從最後一個N開始的,而是配置設定給使用者的參數值中的最後一個
3、Aclocate
X values for each Vuser:為每個使用者配置設定X個參數值,例中,按上述的配置設定方式,可得到如下圖,即每個使用者配置設定到的具體參數
4、Automatically
allocate block size(自動配置設定塊):檢查一個腳本有多少次疊代,然後讓使用者根據疊代次數配置設定該疊代大小的資料塊
更改參數配置如下,繼續測試
作者:授客
QQ:1033553122
全國軟體測試QQ交流群:7156436
Git位址:https://gitee.com/ishouke
友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!
作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額随意,您的支援将是我繼續創作的源動力,打賞後如有任何疑問,請聯系我!!!
微信打賞
支付寶打賞 全國軟體測試交流QQ群