偶然發現JMeter中有兩個元件(User Defined Variables與User Parameters)很相近,剛開始時我也沒注意,兩者有什麼不同。使用時卻發現兩者使用場景有些不同,現在小結一下。
相同點:二者都是進行參數化的。
一、User Defined Variables
1、添加方法:選擇“線程組”,右鍵點擊添加-Config Element-User Defined Variables,在這個控件中,定義你所需要的參數,如
2、使用方法:在對應的需要使用參數的位置,使用${host}替代。
3、應用場景:當測試環境變化時,我們只需要修改一處的IP就可以讓腳本馬上應用於另外一個環境的測試,而不需要逐個腳本進行修改。
二、User Parameters
1、添加方法:選擇“線程組”,右鍵點擊添加-Pre Processors-User Parameters,在這個控件中,定義你所需要的參數,如
2、參數解釋:
Update Once Per Iteration:控制參數取值的變化規則,如果選中該選項,則參數的值在每個迭代中保持不變,在新的迭代開始時取下一個可用值; 如果取消取中該選項,則參數的值在每個其作用域內的Sampler發出請求時取下一個可用值。
3、使用方法:在對應的需要使用參數的位置,使用${productID}替代。
三、小結
1、User Defined Variables中定義的所有參數的值在Test Plan的執行過程中不能發生取值的改變,因些一般僅將Test Plan中不需要隨迭代發生改變的參數(只取一次值的參數)設置在此處。例如,被測應用的host和port值。
2、如果參數的取值範圍很小,使用User Parameters比較合適。
3、如果參數的取值範圍很大,建議使用CSV Data Set Config的方法,該方法具有更大的靈活性。