JMeter也有像LR中的參數(shù)化剂桥,本篇就來(lái)介紹下JMeter的參數(shù)化如何去實(shí)現(xiàn)许赃。
參數(shù)化:錄制腳本中有登錄操作菠净,需要輸入用戶名和密碼,假如系統(tǒng)不允許相同的用戶名和密碼同時(shí)登錄旅东,或者想更好的模擬多個(gè)用戶來(lái)登錄系統(tǒng)。
這個(gè)時(shí)候就需要對(duì)用戶名和密碼進(jìn)行參數(shù)化十艾,使每個(gè)虛擬用戶都使用不同的用戶名和密碼進(jìn)行訪問(wèn)抵代。
一、準(zhǔn)備腳本忘嫉,測(cè)試數(shù)據(jù)
1主守、錄制一個(gè)腳本(可以用badboy工具錄制),在jmeter中打開(kāi)榄融,找到有用戶名和密碼的頁(yè)面参淫。如下:
2、我們需要“參數(shù)化”的數(shù)據(jù)愧杯,用記事本寫(xiě)了五個(gè)用戶名和密碼涎才,保存為.dat格式的文件,編碼問(wèn)題在使用CSV Data Set Config參數(shù)化時(shí)要求的比較嚴(yán)格力九,記事本另存為修改編碼UTF-8. ?注意用戶名和密碼是一一對(duì)應(yīng)的耍铜,中間用戶逗號(hào)(,)隔開(kāi)跌前。
我將這個(gè)文件放在了我的( C:\JmeterWorkSpace\t.dat ?)路徑下棕兼。
二、參數(shù)化
這里介紹兩種參數(shù)化的方式:函數(shù)助手抵乓,CSV Data Set Config伴挚。
1、借助函數(shù)助手的方式
a灾炭、點(diǎn)擊菜單欄“選項(xiàng)”---->函數(shù)助手對(duì)話框茎芋,看下圖:CSV文件列號(hào)是從0開(kāi)始的,第一列0蜈出、第二列1田弥、第三列2、依次類推铡原。偷厦。
b商叹、復(fù)制生成的參數(shù)化函數(shù),打開(kāi)登陸請(qǐng)求頁(yè)面只泼,在右則的參數(shù)化中找到我們要參數(shù)化的字段剖笙,這里對(duì)用戶名和密碼做參數(shù)化,第一列是用戶名辜妓,列號(hào)為0枯途;第二列是密碼,列號(hào)為1籍滴;修改函數(shù)中對(duì)應(yīng)的參數(shù)化字段列號(hào)就可以啦酪夷。
好了,現(xiàn)在我們的參數(shù)化設(shè)置完成孽惰,在腳本的時(shí)候晚岭,會(huì)調(diào)用我們C:\JmeterWorkSpace盤(pán)下面的t.dat文件,第一列是用戶勋功,第二列是密碼坦报。 ?
2、借助jmeter中的配置元件(CSV Data Set Config)
?a狂鞋、選中線程組片择,點(diǎn)擊右鍵,添加-配置元件-CSV Data Set Config
說(shuō)明:
Filename ---?參數(shù)項(xiàng)文件
File Encoding ---?文件的編碼骚揍,設(shè)置為UTF-8
Vaiable Names ---?文件中各列所表示的參數(shù)項(xiàng)字管;各參數(shù)項(xiàng)之間利用逗號(hào)分隔;參數(shù)項(xiàng)的名稱應(yīng)該與HTTP Request中的參數(shù)項(xiàng)一致信不。
Delimiter ---?如文件中使用的是逗號(hào)分隔嘲叔,則填寫(xiě)逗號(hào);如使用的是TAB抽活,則填寫(xiě)\t硫戈;(如果此文本文件為CSV格式的,默認(rèn)用英文逗號(hào)分隔)
Recycle on EOF? ---?True=當(dāng)讀取文件到結(jié)尾時(shí)下硕,再重頭讀取文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?False=當(dāng)讀取文件到結(jié)尾時(shí)丁逝,停止讀取文件
Stop thread on EOF? ---?當(dāng)Recycle on EOF為False時(shí),當(dāng)讀取文件到結(jié)尾時(shí)卵牍,停止進(jìn)程果港,當(dāng)Recycle on EOF為T(mén)rue時(shí),此項(xiàng)無(wú)意義
備注說(shuō)明:這里我用通俗的語(yǔ)言大概講一下Recycle on EOF與Stop thread on EOF結(jié)果的關(guān)聯(lián)
Recycle on EOF :到了文件尾處糊昙,是否循環(huán)讀取參數(shù),選項(xiàng):true和false
Stop thread on EOF:到了文件尾處谢谦,是否停止線程释牺,選項(xiàng):true和false
當(dāng)Recycle on EOF 選擇true時(shí)萝衩,Stop thread on EOF選擇true和false無(wú)任何意義,通俗的講没咙,在前面控制了不停的循環(huán)讀取猩谊,后面再來(lái)讓stop或run沒(méi)有任何意義
當(dāng)Recycle on EOF 選擇flase時(shí),Stop thread on EOF選擇true祭刚,線程4個(gè)牌捷,參數(shù)3個(gè),那么只會(huì)請(qǐng)求3次
當(dāng)Recycle on EOF 選擇flase時(shí)涡驮,Stop thread on EOF選擇flase暗甥,線程4個(gè),參數(shù)3個(gè)捉捅,那么會(huì)請(qǐng)求4次撤防,但第4次沒(méi)有參數(shù)可取,不讓循環(huán)棒口,所以第4次請(qǐng)求錯(cuò)誤
事例下載:demo
b寄月、使用剛才定義好的變量
至此,兩種參數(shù)化的方法就介紹完了无牵。
需要說(shuō)明一下:函數(shù)助手方法要比CSV控件方法參數(shù)化功能要弱漾肮,推薦使用CSV控件方法。
再看看與loadrunner參數(shù)化不一樣的:
1茎毁、 jmeter參數(shù)文件的第一行沒(méi)有列名稱
2克懊、 這里要注意的是參數(shù)文件的編碼,可以使用記事本另存為就可以修改該編碼(編碼問(wèn)題在使用CSV Data Set Config參數(shù)化時(shí)要求的比較嚴(yán)格)
3充岛、 Jmeter的參數(shù)化設(shè)置沒(méi)有LoadRunner做的出色保檐,它是依賴于線程設(shè)置的(只有CSV Data Set Config參數(shù)化方法才有)
轉(zhuǎn)自:http://www.cnblogs.com/yangxia-test/p/3966154.html