偶然發(fā)現(xiàn)JMeter中有兩個(gè)元件(User Defined Variables與User Parameters)很相近,剛開(kāi)始時(shí)我也沒(méi)注意绣硝,兩者有什么不同柬泽。使用時(shí)卻發(fā)現(xiàn)兩者使用場(chǎng)景有些不同,現(xiàn)在小結(jié)一下。
相同點(diǎn):二者都是進(jìn)行參數(shù)化的癣蟋。
一、User Defined Variables
1狰闪、添加方法:選擇“線(xiàn)程組”疯搅,右鍵點(diǎn)擊添加-Config Element-User Defined Variables,在這個(gè)控件中埋泵,定義你所需要的參數(shù)幔欧,如
2、使用方法:在對(duì)應(yīng)的需要使用參數(shù)的位置丽声,使用${host}替代礁蔗。
3、應(yīng)用場(chǎng)景:當(dāng)測(cè)試環(huán)境變化時(shí)雁社,我們只需要修改一處的IP就可以讓腳本馬上應(yīng)用于另外一個(gè)環(huán)境的測(cè)試浴井,而不需要逐個(gè)腳本進(jìn)行修改。
二霉撵、User Parameters
1磺浙、添加方法:選擇“線(xiàn)程組”,右鍵點(diǎn)擊添加-Pre Processors-User Parameters徒坡,在這個(gè)控件中撕氧,定義你所需要的參數(shù),如
2喇完、參數(shù)解釋:
Update Once Per Iteration:控制參數(shù)取值的變化規(guī)則伦泥,如果選中該選項(xiàng),則參數(shù)的值在每個(gè)迭代中保持不變锦溪,在新的迭代開(kāi)始時(shí)取下一個(gè)可用值; 如果取消取中該選項(xiàng)不脯,則參數(shù)的值在每個(gè)其作用域內(nèi)的Sampler發(fā)出請(qǐng)求時(shí)取下一個(gè)可用值。
3海洼、使用方法:在對(duì)應(yīng)的需要使用參數(shù)的位置跨新,使用${productID}替代。
三坏逢、小結(jié)
1域帐、User Defined Variables中定義的所有參數(shù)的值在Test Plan的執(zhí)行過(guò)程中不能發(fā)生取值的改變赘被,因些一般僅將Test Plan中不需要隨迭代發(fā)生改變的參數(shù)(只取一次值的參數(shù))設(shè)置在此處。例如肖揣,被測(cè)應(yīng)用的host和port值民假。
2、如果參數(shù)的取值范圍很小龙优,使用User Parameters比較合適羊异。
3、如果參數(shù)的取值范圍很大彤断,建議使用CSV Data Set Config的方法野舶,該方法具有更大的靈活性。