本文記錄了使用JMeter來(lái)模擬用戶登錄,并從登錄接口返回的JSON數(shù)據(jù)提取Token供其它線程組使用。
主要內(nèi)容:
- 1.登錄提取token設(shè)置全局變量
- 2.使用全局token進(jìn)行接口壓測(cè)
1.下載
http://jmeter.apache.org/download_jmeter.cgi
2.新建測(cè)試計(jì)劃
2.1.新建 HTTP請(qǐng)求默認(rèn)值
用來(lái)統(tǒng)一管理待測(cè)試的服務(wù)器地址和端口
這里將測(cè)試服務(wù)器地址設(shè)置為 http://127.0.0.1:9999
2.2 新建 setUp線程組
這里的線程組來(lái)模擬登錄使用只需要執(zhí)行一次即可,所以單獨(dú)用一個(gè)線程組。
在這個(gè)線程組下新建 HTTP請(qǐng)求來(lái)模擬登錄
我這里登錄是用的JSON格式,所以下面設(shè)置登錄請(qǐng)求頭為Content-Type:application/json
測(cè)試是否登錄成功,新建 查看結(jié)果樹(shù)
運(yùn)行測(cè)試計(jì)劃
可以看到登錄已經(jīng)成果返回了
{
"data": {
"token": "OGMwYTkzMzA1MDc3NDBiOGJjYjQyNDdkMjkwYmU2ZmQ6MTExMzAwMzEyNDA5MzYxNjEyOQ",
"user": {
"id": "1113003124093616129",
"username": "admin",
"truename": "管理員"
}
},
"message": "操作成功!",
"resultCode": "00000"
}
2.3.提取登錄返回?cái)?shù)據(jù)中的token并設(shè)置全局變量
1.提取token
新建 JSON提取器
這里 $
就是返回的JSON對(duì)象 $.data.token
就是獲取token 然后賦值給 token 變量
2.將token賦值全局變量
新建 Bean shell 后置處理程序
${__setProperty(Token,${token},)}
將token賦值給Token
2.4.使用全局的Token
類似于登錄,我們新建一個(gè)線程組來(lái)測(cè)試業(yè)務(wù)接口
在線程組下有個(gè)HTTP信息頭管理器,我們可以設(shè)置獲取全局Token
${__P(Token,)}
獲取Token
這樣設(shè)置后線程組下面的所有業(yè)務(wù)接口都能復(fù)用第一次登錄的token了。
3.對(duì)登錄一次對(duì)線程組里的業(yè)務(wù)接口進(jìn)行壓力測(cè)試
前面我們已經(jīng)獲取到全局的Token現(xiàn)在只需要給線程組設(shè)置規(guī)則就好了
新建 聚合報(bào)告
運(yùn)行,并查看報(bào)告