JMeter也有像LR中的參數(shù)化载庭,本篇就來介紹下JMeter的參數(shù)化如何去實現(xiàn)员萍。
參數(shù)化:錄制腳本中有登錄操作裳凸,需要輸入用戶名和密碼碌奉,假如系統(tǒng)不允許相同的用戶名和密碼同時登錄,或者想更好的模擬多個用戶來登錄系統(tǒng)碍论。
這個時候就需要對用戶名和密碼進行參數(shù)化谅猾,使每個虛擬用戶都使用不同的用戶名和密碼進行訪問。
一鳍悠、準(zhǔn)備腳本税娜,測試數(shù)據(jù)
1、錄制一個腳本(可以用badboy工具錄制)藏研,在jmeter中打開敬矩,找到有用戶名和密碼的頁面。如下:
2蠢挡、我們需要“參數(shù)化”的數(shù)據(jù)弧岳,用記事本寫了五個用戶名和密碼,保存為.dat格式的文件业踏,編碼問題在使用CSV Data Set Config參數(shù)化時要求的比較嚴(yán)格禽炬,記事本另存為修改編碼UTF-8.注意用戶名和密碼是一一對應(yīng)的,中間用戶逗號(勤家,)隔開腹尖。
我將這個文件放在了我的( C:\JmeterWorkSpace\t.dat ?)路徑下。
二伐脖、參數(shù)化
這里介紹兩種參數(shù)化的方式:函數(shù)助手热幔,CSV Data Set Config乐设。
1、借助函數(shù)助手的方式
a断凶、點擊菜單欄“選項”---->函數(shù)助手對話框伤提,看下圖:CSV文件列號是從0開始的,第一列0认烁、第二列1肿男、第三列2、依次類推却嗡。舶沛。
b、復(fù)制生成的參數(shù)化函數(shù)窗价,打開登陸請求頁面如庭,在右則的參數(shù)化中找到我們要參數(shù)化的字段,這里對用戶名和密碼做參數(shù)化撼港,第一列是用戶名坪它,列號為0;第二列是密碼帝牡,列號為1往毡;修改函數(shù)中對應(yīng)的參數(shù)化字段列號就可以啦。
好了靶溜,現(xiàn)在我們的參數(shù)化設(shè)置完成开瞭,在腳本的時候,會調(diào)用我們C:\JmeterWorkSpace盤下面的t.dat文件罩息,第一列是用戶嗤详,第二列是密碼。
2瓷炮、借助jmeter中的配置元件(CSV Data Set Config)
a、選中線程組娘香,點擊右鍵冬筒,添加-配置元件-CSV Data Set Config
說明:
Filename ---?參數(shù)項文件
File Encoding ---?文件的編碼,設(shè)置為UTF-8
Vaiable Names ---?文件中各列所表示的參數(shù)項茅主;各參數(shù)項之間利用逗號分隔;參數(shù)項的名稱應(yīng)該與HTTP Request中的參數(shù)項一致土榴。
Delimiter ---?如文件中使用的是逗號分隔诀姚,則填寫逗號;如使用的是TAB玷禽,則填寫\t赫段;(如果此文本文件為CSV格式的呀打,默認(rèn)用英文逗號分隔)
Recycle on EOF? ---?True=當(dāng)讀取文件到結(jié)尾時,再重頭讀取文件
False=當(dāng)讀取文件到結(jié)尾時糯笙,停止讀取文件
Stop thread on EOF? ---?當(dāng)Recycle on EOF為False時贬丛,當(dāng)讀取文件到結(jié)尾時,停止進程给涕,當(dāng)Recycle on EOF為True時豺憔,此項無意義
備注說明:這里我用通俗的語言大概講一下Recycle on EOF與Stop thread on EOF結(jié)果的關(guān)聯(lián)
Recycle on EOF :到了文件尾處,是否循環(huán)讀取參數(shù)够庙,選項:true和false
Stop thread on EOF:到了文件尾處恭应,是否停止線程,選項:true和false
當(dāng)Recycle on EOF 選擇true時耘眨,Stop thread on EOF選擇true和false無任何意義昼榛,通俗的講,在前面控制了不停的循環(huán)讀取剔难,后面再來讓stop或run沒有任何意義
當(dāng)Recycle on EOF 選擇flase時胆屿,Stop thread on EOF選擇true,線程4個偶宫,參數(shù)3個非迹,那么只會請求3次
當(dāng)Recycle on EOF 選擇flase時,Stop thread on EOF選擇flase读宙,線程4個彻秆,參數(shù)3個,那么會請求4次结闸,但第4次沒有參數(shù)可取唇兑,不讓循環(huán),所以第4次請求錯誤
事例下載:demo
b桦锄、使用剛才定義好的變量
至此扎附,兩種參數(shù)化的方法就介紹完了。
需要說明一下:函數(shù)助手方法要比CSV控件方法參數(shù)化功能要弱结耀,推薦使用CSV控件方法留夜。
再看看與loadrunner參數(shù)化不一樣的:
1、 jmeter參數(shù)文件的第一行沒有列名稱
2图甜、 這里要注意的是參數(shù)文件的編碼碍粥,可以使用記事本另存為就可以修改該編碼(編碼問題在使用CSV Data Set Config參數(shù)化時要求的比較嚴(yán)格)
3、 Jmeter的參數(shù)化設(shè)置沒有LoadRunner做的出色黑毅,它是依賴于線程設(shè)置的(只有CSV Data Set Config參數(shù)化方法才有)