Jmeter接口測試中參數(shù)化的七種方法總結(jié)

在使用Jmeter做接口測試,性能測試過程中,經(jīng)常會遇到參數(shù)化問題 。這里提供幾種常用的參數(shù)化方法。
1.用戶定義變量
一般用于變化不是特別大,但是還是需要進(jìn)行參數(shù)化的變量,如:IP,端口等
1)點(diǎn)擊線程租-配置元件-用戶定義的變量,在頁面輸入需要參數(shù)化的變量和值。


image.png

2)在對應(yīng)需要使用上述變量的地方引入,后續(xù)可通過查看結(jié)果樹查看


image.png

也可直接在測試計劃中直接添加用戶定義變量,操作同上,不再重復(fù)。


image.png

2.用戶參數(shù)
1)點(diǎn)擊線程組-添加-前置處理器-用戶參數(shù)
每次迭代更新一次:如果有多個用戶/使用變量時勾選,如果不勾選,所有線程用的是同一個值,需要不同的線程用不同的值,需要勾選此選項(xiàng)


image.png

2)在Http請求中使用參數(shù)


image.png

3.user.properties文件
1)進(jìn)入Jmeter安裝目錄的bin目錄下,找到user.properties文件


image.png

2)用Notepad編輯器,打開user.properties文件,并在文件末尾添加需要定義的變量的參數(shù),并保存關(guān)閉該文件


image.png

3)重新啟動jmeter,使用函數(shù)助手中的函數(shù),點(diǎn)擊選項(xiàng)-函數(shù)助手對話框,選擇函數(shù)__P。
屬性名稱:與user.properties文件中變量名一致
默認(rèn)值:如果user.properties文件中沒有設(shè)置要使用的參數(shù)值,優(yōu)先使用該默認(rèn)選項(xiàng),如果文件中已設(shè)置就優(yōu)先使用文件中的參數(shù)值
image.png

4)生成并復(fù)制函數(shù)字符串:${__P(ip,192.168.100.100)},在Http請求中使用參數(shù)


image.png

4.函數(shù)獲取參數(shù)值
如:__Random,__threadNum,__CSVRead,__StringFromFile
具體調(diào)用方法可參見文章:http://www.itdecent.cn/writer#/notebooks/17029642/notes/37820940

5.txt/csv 文件參數(shù)化
txt/csv 文件參數(shù)化方法是在性能測試中最常用的測試方法,將參數(shù)化的數(shù)據(jù)提前保存在以.txt 或者以.csv 結(jié)尾的文件中,多個參數(shù)使用,隔開
1)點(diǎn)擊線程組-添加-配置元件-CSV Data Set Config

image.png

2)在當(dāng)前測試計劃存儲的同一目錄入,新增 01_定損打開定損單測試數(shù)據(jù).csv文件,內(nèi)容如下:
image.png

具體使用可參考:http://www.itdecent.cn/p/7dee46e5fb27

6.從數(shù)據(jù)庫中獲取
1)以mysql為例,先要下載mysql驅(qū)動mysql-connector-java-5.1.12-bin.jar 下載地址:http://ftp.jaist.ac.jp/pub/mysql/Downloads/
2)將上述jar包放到Jmeter的lib目錄下
3)點(diǎn)擊線程組-添加-配置元件-JDBC Connection Configuration,建立JDBC連接。
4)添加“Sampler”-“JDBC Request”,在SQL Query中輸入查詢語句
5)JDBC Request請求中添加“后置處理器”->“正則表達(dá)式提取器”,以提取上一步中的參數(shù)。
可參考文章:http://www.itdecent.cn/p/bd99f271e274

7.BeanShell參數(shù)化
通過使用BeanShell內(nèi)置對象vars可以對變量進(jìn)行存取操作
vars.get("name"):從jmeter中獲得變量值
vars.put("key","value"):數(shù)據(jù)存到j(luò)meter變量中,vars.put 中均為字符串
1)點(diǎn)擊 線程組-添加-Sampler-BeanShell Sampler,在Script區(qū)域,構(gòu)造變量accidentNo

image.png

代碼如下:
//獲取本次生成的隨機(jī)數(shù)并賦值給JMeter變量
String randStr="
{__time(hhmmss,)}
{__threadNum}${__counter(,)}";
vars.put("randStr",randStr);
log.info("本次生成的隨機(jī)數(shù)為:" + randStr);

String accidentNo="acc_"+randStr;
vars.put("accidentNo",accidentNo);
2)在Http請求中使用參數(shù)變量


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 引言 這估計是目前國內(nèi)能找到的相對比較全面的JMeter自動化測試介紹了吧。希望能給予您一點(diǎn)幫助。 1.1 J...
    __yanyan閱讀 16,083評論 1 45
  • 一、使用jmeter函數(shù)助手 啟動jmeter后,可以在JMeter的選項(xiàng)菜單中找到函數(shù)助手對話框(快捷鍵:Ctr...
    驕傲的兎孒閱讀 1,563評論 0 3
  • 紀(jì)伯倫曾說過,友情是一個甜柔的職責(zé)。 而這份甜柔,責(zé)無旁貸的飄落在閨蜜的身上。 本期征集帖正是寫一封六行書,給那個...
    簡書活動精選閱讀 3,199評論 5 38
  • 3月25日。 今天山里又停水停電了,雖不能說這四年之中是常事,但我也已不足為怪了,只能坦然接受。 在講學(xué)堂看了會書...
    Yolanda侃影視閱讀 333評論 3 2
  • 北京,晴,好日子。今天是周六,感覺漸漸進(jìn)入了狀態(tài),充實(shí)了很多,還不是很忙。 以前總是喜歡買書,但是基本不看,我也無...
    博峰庸者閱讀 684評論 0 49

友情鏈接更多精彩內(nèi)容