jmeter處理接口加密和解密


https://www.liangzl.com/get-article-detail-39672.html

 

https://www.cnblogs.com/artoftest/p/7277996.html

 

https://blog.csdn.net/Stephen_shijun/article/details/86599144

 

https://blog.csdn.net/russ44/article/details/56009084

 

https://blog.csdn.net/Nancycyy/article/details/51423868

 

 

 

 

流程:測試數據--加密--請求服務器--獲取返回值--解密--提取token值--作為下個請求的參數

1.加解密jar包
代碼:

加解密代碼
2.BeanShell 使用
(1)請求數據data加密,BeanShell PreProcessor

import AES.AESUTil; //調用加解密的jar包
String data1 ="{\"data\":\"111\",\"userName\":\"${userName}\"}";//輸入請求,userName可以獲取
String data=AESUTil.AEept(data1); //調用加密算法,加密data1,得到加密串data值
vars.put("data",data); //輸出加密data值
${userName}可以是從CSV Data Set Config 取值

(2)http請求發送

 

 

(3)返回數據解密,及提取token值,BeanShell PostProcessor

import AES.AESUTil;//調用加解密的jar包
import org.json.JSONObject;//調用json的jar包

String response = prev.getResponseDataAsString();//得到返回數據存在response
String Pcontent=AESUTil.BEept(response); //解密返回數據response,保存在Pcontent
//vars.put("Pcontent",Pcontent);//輸出解密返回的數據
JSONObject data_obj = new JSONObject(Pcontent);//新建json串,將string類型的Pcontent轉換值保存
String errorCode1 = data_obj.get("errorCode");//截取json串data_obj返回值中的errorCode
String code ="0000";//設定固定的返回值code
if (errorCode1.equals(code)){//當返回值errorCode與設定code值相等時,執行下面的內容
vars.put("userNo",data_obj.get("result").get("userNo").toString());
//截取json串errorCode中的返回值中result下的userNo
vars.put("Token",data_obj.get("result").get("accessToken").toString());
//vars.put("errorCode1",errorCode1);
}
else
vars.put("errorCode1",errorCod1);//返回值errorCode1不為0000,打印返回值errorCode1
 

(3)BeanShell斷言

import AES.AESUTil;
import org.json.JSONObject;
prev.setDataEncoding("utf-8");//解決中文亂碼問題
String response = prev.getResponseDataAsString();
String Pcontent=AESUTil.BEept(response);

JSONObject data_obj = new JSONObject(Pcontent);
String error1 = data_obj.get("errorCode");
String code ="0000";
//當結果error1與設定值不符時,在斷言打印出來失敗的error值
if (!error1.equals(code)){
Failure = true;
FailureMessage = Pcontent;
}
(4)Debug Sampler的使用

 

 

默認的設置即可,上面的vars.put()值都能顯示在里面,調試的時候可以用

3.調用jar包的問題
二種方法

(1)直接放到jmeter/lib 的目錄下

 

 

(2)在jmeter.jmx的測試計划下引用

 


---------------------
作者:qie134
來源:CSDN
原文:https://blog.csdn.net/qie134/article/details/83306222
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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