今天分享的內容是如何使用jmeter進行性能測試,就拿我經歷過的一個項目爲例進行講解。java
1、目錄結構以下:
說明:**確認轉讓接口的入參依賴於:」***前臺登陸接口「和」獲取submitToken接口「python
2、目錄結構中的:**撤資項目---測試計劃
內容如上圖所示
3、目錄結構中的:**確認撤資---線程組
內容以下圖所示:正則表達式
4、目錄結構中的:用戶參數 填寫登陸的用戶名和密碼
內容以下圖所示:apache
5、目錄結構中的:BeanShellPreProcessor---前置處理器
內容以下圖所示:微信
java代碼爲:【使用base64對用戶名密碼加密】
import org.apache.commons.codec.binary.Base64;
String username = vars.get("username");
String password = vars.get("password");
String combineduserpass = username + ":" + password;
byte[] encodedUsernamePassword = Base64.encodeBase64(combineduserpass.getBytes());
vars.put("auth",new String(encodedUsernamePassword));
備註:
username---用戶參數中的:名稱
password----用戶參數中的:名稱
6、目錄結構中的:HTTP信息頭管理器【爲下面的:**確認轉讓接口提供請求頭信息,相關於python裏的headers】
內容以下圖所示:性能
備註:HTTP信息頭管理器中的:名稱至關於python文件headers裏的內容
7、目錄結構中的:HTTP請求:***前臺登陸接口
內容以下圖所示:測試
備註:
Body Data內容:{"authorization": "Basic ${auth}"} 此內容爲登陸接口的入參
參數auth是BeanShellPreProcessor【前置處理器中:java代碼返回的參數:auth】
8、目錄結構中的:HTTP請求:***前臺登陸接口 察看結果樹
內容以下圖所示:加密
9、目錄結構中的:HTTP請求:***前臺登陸接口 登陸xAuthToken提取
內容以下圖所示:spa
正則表達式提取器:獲取登陸接口返回的:xAuthToken值
備註:
一、引用名稱能夠隨便取,可是正則表達式中的名稱需與接口返回的xAuthToken的名稱保持一致;
二、通常獲取第一個xAuthToken出現的值【模板/匹配數字】;
10、目錄結構中的:HTTP請求:獲取submitToken值
內容以下圖所示:.net
備註:
一、該接口請求返回submitToken值;
二、入參如Body Data所示;
11、目錄結構中的:HTTP請求:獲取submitToken值 submitToken提取【正則表達式提取器】
內容以下圖所示:
備註:
一、正則表達式提取器中,引用名稱能夠自由命名,後面會引用該名稱;
二、正則表達式中的名稱爲:獲取submitToken接口返回的submitToken的值的名稱;
三、通常獲取接口返回的第一個名稱爲:submitToken的值的名稱,即:submitToken;
12、目錄結構中的:HTTP請求:獲取submitToken值 察看結果樹
內容以下圖所示:
十3、目錄結構中的:HTTP請求:**確認轉讓接口
內容以下圖所示:
備註:
一、Body Data中的入參submitToken變量爲:submitToken提取 正則表達式提取器中:引用名稱 submitToken;
二、**確認轉讓接口所須要的headers信息已在目錄結構爲:HTTP信息頭管理器;
十4、目錄結構中的:HTTP請求:**確認轉讓接口 BeanShellPostProcessor
內容以下圖所示:
代碼:prev.setDataEncoding("UTF-8");
解決:接口返回結果中中文亂碼問題;
十5、目錄結構中的:HTTP請求:**確認轉讓接口 察看結果樹
內容以下圖所示:
十6、目錄結構中的:HTTP請求:**確認轉讓接口 響應斷言
內容以下圖所示:
紅框標註爲:**確認轉讓接口正確返回時應該包含的內容;
本文分享自微信公衆號 - 無量測試之道(gh_858a1aa25a6d)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。