前言
相信大家在工作中做接口測試的時候,肯定會遇到一個場景,那就是你們的軟件,密碼是加密存儲的。。
那么這樣的話,我們在執行接口的時候,對于密碼的處理就開始頭疼了。。
所以,本文將使用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、添加監聽器->察看結果樹,對返回數據進行確認。
ps大家需要可以點點關注收藏,方便查看哦~
如需搬運請標明出處哦!并在文章頁面明顯位置給出原文鏈接