JMeter之模擬用戶登錄后進行接口壓測

本文記錄了使用JMeter來模擬用戶登錄,并從登錄接口返回的JSON數據提取Token供其它線程組使用。

主要內容:

  • 1.登錄提取token設置全局變量
  • 2.使用全局token進行接口壓測

1.下載

http://jmeter.apache.org/download_jmeter.cgi

2.新建測試計劃

2.1.新建 HTTP請求默認值

HTTP請求默認值

用來統一管理待測試的服務器地址和端口

image.png

這里將測試服務器地址設置為 http://127.0.0.1:9999

2.2 新建 setUp線程組

setUp線程組

這里的線程組來模擬登錄使用只需要執行一次即可,所以單獨用一個線程組。
在這個線程組下新建 HTTP請求來模擬登錄

HTTP請求
配置登錄接口

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

HTTP信息頭管理器
設置請求頭為JSON

測試是否登錄成功,新建 查看結果樹


查看結果樹

運行測試計劃


運行測試計劃

可以看到登錄已經成果返回了

{
    "data": {
        "token": "OGMwYTkzMzA1MDc3NDBiOGJjYjQyNDdkMjkwYmU2ZmQ6MTExMzAwMzEyNDA5MzYxNjEyOQ",
        "user": {
            "id": "1113003124093616129",
            "username": "admin",
            "truename": "管理員"
        }
    },
    "message": "操作成功!",
    "resultCode": "00000"
}

2.3.提取登錄返回數據中的token并設置全局變量

1.提取token
新建 JSON提取器


新建 JSON提取器
JSON提取器 配置

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

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


image.png
設置全局的Token

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

2.4.使用全局的Token

類似于登錄,我們新建一個線程組來測試業務接口


新建 線程組
線程組示例

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


獲取全局Token

${__P(Token,)} 獲取Token

這樣設置后線程組下面的所有業務接口都能復用第一次登錄的token了。

3.對登錄一次對線程組里的業務接口進行壓力測試

前面我們已經獲取到全局的Token現在只需要給線程組設置規則就好了


50個線程循環50次

新建 聚合報告


聚合報告

運行,并查看報告


聚合報告

4.參考

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。