腳本優化-參數化之Parameter List參數取值
by:授客 QQ:1033553122
參數取值選項
Select next row
Update value on
以上兩個選項是改變參數化取值的關鍵選項。
Select
next row包含如下選項:
Sequential:順序選擇
Random:随機取值
Unique:唯一值
Update
value on包含以下選項:
Each
iteration:每次疊代更新。
occurrence:每次取值更新
Once:隻更新一次
1
Sequential+Each iteration取值
這種取值是按順序的,即按照Parameter
List中記錄的先後順序從上往下取值,當記錄取完後,再重新從記錄頭開始取值,而Each
iteration是基于Run-timesettings->Run
Logic中的疊代次數完成記錄變化操作的。
例子:
Action3()
{
lr_eval_string("{NewParam}");
return
0;
}
疊代次數1:NewParam取值
甲
疊代次數5:NewParam取值
甲|乙|丙|丁|戊
疊代次數6:NewParam取值
甲|乙|丙|丁|戊|甲
注意:Update on value on Each
iteration時,隻有開始了新的一次疊代,也就是說回放日志中出現了Starting
iteration才會觸發記錄變化,否則取值内容均不變化
例如:疊代次數為2
for (int
i=0;i<2;i++)
return 0;
NewParam取值
甲甲乙乙
2
Sequential+Each occrrence取值
按順序取值,即按照Parameter
occrrence隻要取了一次參數值,參數值就變化,取下一個參數值
lr_eval_string("{NewParam}");
return 0;
如果疊代次數
1:NewParam取值
甲|乙
2:NewParam取值
甲|乙|丙|丁
3
Sequential+Once取值
List中記錄的先後順序從上往下取值,當記錄取完後,再重新從記錄頭開始取值,而Once針對整個腳本來說,隻要取了一次參數值,參數值就不再變化了
lr_eval_string("{NewParam}");
return 0;
無管疊代多少次,或者for循環,NewParam取值都是甲
4
Random+Each iteration取值
VuGen會從參數清單中随機取出一條記錄,其取值的次數受到Update
value on選項的限制。
Random+Each
iteration:每當一次新的Starting
iteration開始,重新從參數清單中取一次随機值。
5
Random+Each occurrence
每當取一次該參數值,從參數清單中重新取一次随機值
6
Random+Once
當第一次取到随機内容後,再不更新記錄。
7
Unique取值
一種更進階的順序取值,強調取值的唯一性,但是違反了該規則也能繼續運作,VuGen提供了When
out of values選項來處理非唯一的情況【當且僅當Update
value on Each iteration,Update
value on Each occurrence, When out of values才可以用】
其中,update
value on和上面的意思一樣,不再贅述
When
out of values
1)Abort
Vuser
當參加參數取值超出參數表記錄的條數時,忽略使用者腳本,停止運作腳本
2)Continue
in a cyclic manner
當參數取值超出參數表記錄時,使用循環掃描的方式
3)Continue
with last value
當參數取值超出參數表記錄時,使用參數表中的最後一個值
列子:
疊代6次
小技巧:有時候,需要手工将參數的值下移一位(不管是不是Update
value on Each iteration),怎麼辦?使用lr_advance_param()函數來解決這個問題,
例子:前面腳本的參數{NewParam},Sequential+Each
iteration,使用腳本:
lr_eval_string(“{Newparam}”);
運作結果
甲|甲
lr_advance_param(“Newparam”);
閱讀下篇:
腳本優化-參數化之Parameter List參數同行取值
作者:授客
QQ:1033553122
全國軟體測試QQ交流群:7156436
Git位址:https://gitee.com/ishouke
友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!
作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額随意,您的支援将是我繼續創作的源動力,打賞後如有任何疑問,請聯系我!!!
微信打賞
支付寶打賞 全國軟體測試交流QQ群