前言
工作中我們需要壓測的接口大部分都是需要先登陸後,帶着token的接口(或者帶着cookies),我們可以先登陸擷取token再關聯到下個接口。
比如我現在要壓測一個修改使用者的個人資訊接口,每個使用者隻能修改自己的個人資訊。
場景案例
我現在有一個登陸接口A,登陸成功後傳回一個token值。A接口登入接口文檔基本資訊
通路位址:http://127.0.0.1:9000/api/v1/login/
請求類型:POST
請求頭部:application/json
請求參數:{"username":"test", "password":"123456"}
接口傳回
{
"code": 0,
"msg": "login success!",
"token": "234af73571da46ade79ea6a74961b1d23d609b79",
"username": "test"
}
B接口需先登陸,修改使用者的個人資訊,并且使用者隻能修改自己的個人資訊
通路位址: http://127.0.0.1:8000/api/v1/userinfo
請求頭部:Content-Type: application/json
Authorization: Token 234af73571da46ade79ea6a74961b1d23d609b79
請求參數:{"name":"test","sex":"M","age":23,"mail":"[email protected]"}
"message": "update some data!",
"data": {
"name": "test",
"sex": "M",
"age": 23,
"mail": "[email protected]"
如果先登陸再關聯到修改個人資訊,這樣實際上是發了2個請求,真實場景是使用者早就登陸了,是以并不需要去壓測登陸的場景。
我們隻需要拿到token直接去壓測B接口就行了。
測試token準備
B接口有兩個參數是一一對應的,一個是token,一個是對應的name,比如壓測的時候準備100個使用者,我這裡以10個使用者為例
先注冊批量的使用者用于壓測,我這裡注冊的使用者是test1,test2......test10,一起10個使用者
運作後生成的token_user.txt檔案内容如下
jmeter CSV資料檔案設定
導入csv 測試資料檔案,設定token和user兩個變量
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SM1IzYycjMzMWM0QGMwI2NyQDZ0ADMiFjN0MDMhVzMm9CXyAzLcZDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
HTTP 資訊頭管理器引用token
請求參數引用user
運作結果
接下來就可以設定線程組愉快的壓測了
比如我設定2個線程,4次循環,這樣會請求8次,每次都從測試檔案裡面循環取值
上海-悠悠,QQ交流群:750815713