測試接口時,當請求參數不是固定的,每次請求對應的參數都是不同的,就需要對請求參數進行參數化。我們這里簡單介紹一下5個用戶與一個用戶建立好友關系。
一、測試需求描述
1、 本次測試的接口為http服務端接口
2、 接口:掃碼調用建立關系
3、接口描述:多用戶與一個用戶建立好友關系
地址:http://192.168.8.197/act/api/v1/public/relFriend
請求方式: post
請求頭參數: token(
56063b79e9be42bb9ed16a055fde04ab,
e0599e7cf2694cb5bf593559d15f62f2,
7f99e665f6b949eabe1356c076fe0275,
0ea8d1fb4d7244f1b68aa582c6f5765c,
7cca8b0a13404a21ad342040c30e77f8
)
請求參數: ctID:ctyl53
響應數據:{"code":"OK","message":null,"stack":null,"body":{"message":"添加好友成功","userId":""}}
二、使用Jmeter部署環境
1、首先打開Jmeter,在測試計划下添加線程組。
2.在線程組下添加HTTP信息頭管理器。
3.在線程組下添加HTTP請求。
4.在HTTP請求下添加察看結果數
5.在HTTP請求下添加聚合報告
三,部署完成后,開始填入數據進行測試
1:首先我們需要把請求頭參數token參數化,這里簡單介紹兩個方法:方法一:
1、這里添加CSV Data Set Config來設置。
2、以下是CSV Data Set Config各個參數的簡要說明:
- FileName:csv文件的名稱及路徑
- File Encoding: 文件編碼----默認為空
- Varible Names: 定義文本文件中的參數名,定義后可當變量的方式來引用
- Ignore first line(only used if variable name is not empty):忽略第一行(僅使用變量名不是空的)----默認為false
- Delimiter:分隔符---每個參數之間的分隔符號,一般默認使用逗號,
- Allow Quoated data: 允許數據引---
- Recycle on EOF: 文件結束循環----設置為True后,允許循環取值
- Stop Thread on EOF: 文件結束后停止線程------默認為false,如果設置為True則會影響文件結束循環
- Sharing Mode: 設置線程是否共享---默認設置為All threads
3、我們這里把請求頭參數token保存在E盤的11.txt,變量名定義為t,各參數之間用,隔開,此參數分享給所有的線程
4.現在可以來填寫HTTP信息頭管理器,點擊添加,把請求頭參數:token =${t},這樣就把參數引進來了。
方法二:利用函數來設置,點擊選項-->函數助手對話框
1、在函數助手對話框,選擇_CSVRead函數,把文件路徑放在第一行,文件中對應的第幾列放在第2行,點擊生成,就會自動生成一個函數字符串,拷貝到HTTP信息頭管理器的參數token對應的參數。
四,開始填入HTTP請求數據進行測試
1、填寫HTTP請求,點擊添加,把請求參數: ctID:ctyl53填入進去。
協議:http
請求方式: post
路徑:/act/api/v1/public/relFriend
2、設置線程組,根據測試需求來設置。我們這里設置的是5個虛擬用戶,循環1次。
3、全部都設置好了就可以點擊綠色箭頭運行了,或者點擊“運行”菜單欄的“啟動”列表。運行完成后,我們來看看查看結果數。點擊響應數據查看返回數據是否和研發部編寫的一致。
4,我們再來檢查一下請求的參數是否正確。可以看到每個HTTP對應token參數是一一對應11.txt
5.、請求都成功后,我們來看看聚合報告,這個數據就是我們的測試結果了。