前言
我們已經學過了如何利用python腳本對SHA256加密接口進行測試,還沒學會的小伙伴們可以看回我寫的隨筆Python-SHA256加密算法接口測試,那么,對於SHA256加密算法接口,我們如何使用JMeter來進行測試呢?下面,我們來學習兩種方法。
接口文檔如下:
接口地址: http://47.96.181.17:8098/login
返回格式: json
請求方式: POST
請求參數:{"userName":"您的用戶名","password":"sha256加密后的密碼"}
請求頭:
鍵:Content-Type 值:application/x-www-form-urlencoded
鍵:X-Requested-With 值:XMLHttpRequest
成功返回示例:
{
'jumpUrl': 'index',
'success': 'true',
'systemUser': {'avatarName': None,
'avatarPath': 'file/avatar/2020-02-06/',
'nickname': 'sqqdcl3',
'rememberMe': False,
'securityDigest': None,
'userId': '1',
'userName': 'sqqdcl'}
}
失敗返回示例:
{'error': {'password': '密碼錯誤'}, 'success': 'false'}
方法一:使用JMeter的自帶函數
一:打開函數助手,選擇__digest
參數含義:
- Digest algorithm 算法摘要:MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512
- String to be hashed:要計算的字符串;
- Salt to be used for hashing (optional):用於計算散列的鹽(可選項);
- Upper case result, defaults to false (optional)
:結果大寫,默認為
false
(可選),即默認摘要值為小寫
- Name of variable in which to store the result (optional)存儲結果的變量名(可選)
二:添加HTTP信息頭管理器
三:添加http請求
四:添加監聽器-察看結果樹,點擊查看運行后的結果
方法二:添加“BeanShell 預處理程序”
一:在“線程組”上添加前置處理器-BeanShell PreProcessor
在Script寫入以下代碼:
import org.apache.commons.codec.digest.DigestUtils; String password = "111111"; String pwd_sha256 = DigestUtils.sha256Hex(password); #結果是大寫:String pwd_sha256 = DigestUtils.sha256Hex(password).toUpperCase(); vars.put("pwd-sha256", pwd_sha256);
二:添加HTTP信息頭管理器
三:添加http請求
四:添加監聽器-察看結果樹,點擊查看運行后的結果