jmeter加解密测试

流程:测试数据--加密--请求服务器--获取返回值--解密--提取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的测试计划下引用

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值