通過 jmeter 完成對請求字段的加密


前言

相信大家在工作中做接口測試的時候,肯定會遇到一個場景,那就是你們的軟件,密碼是加密存儲的。。
那么這樣的話,我們在執行接口的時候,對於密碼的處理就開始頭疼了。。
所以,本文將使用jmeter這款java開源的接口測試工具,給大家來講解jmeter完成加密的接口請求

先導知識

在執行加密之前,你需要了解3個知識點:
1、 元件->前置/后置處理器
2、 beanshell是什么
3、 beanshell的內置變量

元件->前置/后置處理器

前置處理器:此元件突出一個“前”,所以它是在請求發出之前的一個處理器
后置處理器:此元件突出一個“后”,所以它是在請求發出之后,得到了響應結果后的一個處理器

beanshell是什么

BeanShell是一種完全符合Java語法規范的腳本語言,並且又擁有自己的一些語法和方法。
BeanShell是可以執行標准Java語句和表達式,另外包括一些腳本命令和語法。
簡單的來說,我們可以在beanshell里寫java代碼,然后jmeter會去執行這些代碼

beanshell內置變量

vars:本質上來說。它是一個類似於HashMap的集合,所以vars是可以對數據進行存儲和讀取的,它所存儲的數據格式為key.value
它的常用語法:
vars.get(string key):從集合里取值
vars.put(string key.string value):把變量傳到集合里進行保存
ps:要注意的是vars內置變量是一個局部變量,不能跨線程使用!!!

1、從開發處獲取加密jar包

對於很多測試經驗不足的測試工程師而言,是有點畏懼向開發要東西的。
總感覺一問開發要,就會被開發罵。大家放寬心哈,不會的,只要你的要求是合理的,開發肯定會願意配合你的。
所以,當你要對數據進行加密的時候,你得先找到對應的開發,要開發給你提供加密方法的jar包。
因為這個加密的方式,公司里面也就只有開發是最清楚的了。並且,每家公司的加密方式都是不一樣的。

2、在jmeter里引用jar包

jmeter引用jar包有2種方法:
1、 在測試計划中直接引用

2、 將jar包放到jmeter文件下的\lib\ext下

3、添加一個加密請求

ps:本文將以登錄接口中的密碼,進行講解

4、在登錄請求下,添加前置處理器,並完成對密碼的加密

為什么要加前置處理器呢??
因為我們登錄要用的是加密后的密碼,所以必須要在請求發送之前就已經把密碼加密好了。


代碼如下:
import com.lemon.encryption.RSAManager;
String code = RSAManager.encryptWithBase64("520lemon");
vars.put("pwd",code);

PS:下圖為使用rar軟件打開jar包,右鍵點擊jar包,選擇打開方式,找到加密類

5、登錄請求調用已經加密好的字符串

6、添加監聽器->察看結果樹,對返回數據進行確認。

至此,本文要描述的通過jmeter完成對請求字段的加密已經結束。謝謝觀賞!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM