JMeter之模擬用戶登錄后進(jìn)行接口壓測(cè)

本文記錄了使用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)值

HTTP請(qǐng)求默認(rèn)值

用來(lái)統(tǒng)一管理待測(cè)試的服務(wù)器地址和端口

image.png

這里將測(cè)試服務(wù)器地址設(shè)置為 http://127.0.0.1:9999

2.2 新建 setUp線程組

setUp線程組

這里的線程組來(lái)模擬登錄使用只需要執(zhí)行一次即可,所以單獨(dú)用一個(gè)線程組。
在這個(gè)線程組下新建 HTTP請(qǐng)求來(lái)模擬登錄

HTTP請(qǐng)求
配置登錄接口

我這里登錄是用的JSON格式,所以下面設(shè)置登錄請(qǐng)求頭為Content-Type:application/json

HTTP信息頭管理器
設(shè)置請(qǐng)求頭為JSON

測(cè)試是否登錄成功,新建 查看結(jié)果樹(shù)


查看結(jié)果樹(shù)

運(yùn)行測(cè)試計(jì)劃


運(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提取器
JSON提取器 配置

這里 $就是返回的JSON對(duì)象 $.data.token 就是獲取token 然后賦值給 token 變量

2.將token賦值全局變量
新建 Bean shell 后置處理程序


image.png
設(shè)置全局的Token

${__setProperty(Token,${token},)} 將token賦值給Token

2.4.使用全局的Token

類似于登錄,我們新建一個(gè)線程組來(lái)測(cè)試業(yè)務(wù)接口


新建 線程組
線程組示例

在線程組下有個(gè)HTTP信息頭管理器,我們可以設(shè)置獲取全局Token


獲取全局Token

${__P(Token,)} 獲取Token

這樣設(shè)置后線程組下面的所有業(yè)務(wù)接口都能復(fù)用第一次登錄的token了。

3.對(duì)登錄一次對(duì)線程組里的業(yè)務(wù)接口進(jìn)行壓力測(cè)試

前面我們已經(jīng)獲取到全局的Token現(xiàn)在只需要給線程組設(shè)置規(guī)則就好了


50個(gè)線程循環(huán)50次

新建 聚合報(bào)告


聚合報(bào)告

運(yùn)行,并查看報(bào)告


聚合報(bào)告

4.參考

http://www.lxweimin.com/p/e31b995d80e3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。