怎么通過 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、添加監聽器->察看結果樹,對返回數據進行確認。


ps大家需要可以點點關注收藏,方便查看哦~

如需搬運請標明出處哦!并在文章頁面明顯位置給出原文鏈接

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容