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
版权声明:本文为博主原创文章,转载请附上博文链接!
jmeter处理接口加密和解密的更多相关文章
- jmeter 请求发送加密参数(加密接口测试一)
最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求,加密方式为:ase256.所以,jmeter发送请求前也需要对uid及json参数进行加密.我这里是让开发 ...
- jmeter 请求发送加密参数
最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求,加密方式为:ase256.所以,jmeter发送请求前也需要对uid及json参数进行加密.我这里是让开发 ...
- Java_DES 加密和解密源码
Java密码学结构设计遵循两个原则: 1) 算法的独立性和可靠性. 2) 实现的独立性和相互作用性. 算法的独立性是通过定义密码服务类来获得.用户只需了解密码算法的概念,而不用去关心如何实现这些概念. ...
- PHP 加密 和 解密 方法
关于Discuz的加密解密函数,相信大家都有所了解,该authcode函数可以说是对PHP界作出了重大的贡献,真的发觉discuz这个函数写的太精彩啦. 研究了一下这个算法,总的来说可以归纳为以下三点 ...
- mvc url路由参数的加密和解密
查看某个信息的时候一般会在url上加上该信息在数据库中对应的主键id(而且一般是自增的) url是这样子的 xxxDetail/1 , 虽然对于我们开发人员来说可以这种显式的数据库主键会方便调试过程, ...
- 浅谈.NET中加密和解密的实现方法分享
这篇文章介绍了.NET中加密和解密的实现方法,有需要的朋友可以参考一下 .NET将原来独立的API和SDK合并到一个框架中,这对于程序开发人员非常有利.它将CryptoAPI改编进.NET的Syste ...
- Flash型单片机的加密与解密
厂商利用单片机进行产品开发时,都会关心其代码和数据的保密性.考虑到用户在编写和调试代码时所付出的时间和精力,代码的成本是不言而喻的. 早期的单片机,代码是交给芯片制造商制成掩膜ROM.有两种加密 ...
- php接口数据加密、解密、验证签名代码实例
php接口数据加密.解密.验证签名 代码非常easy,这里就不多废话了,直接奉上代码 <?php /** * 数据加密.解密.验证签名 * @edit http://www.lai18.com ...
- Java DES 加密和解密源码(转)
原文地址:http://www.oschina.net/code/snippet_727646_18383 Java密码学结构设计遵循两个原则: 1) 算法的独立性和可靠性. 2) 实现的独立性和相互 ...
随机推荐
- Linux安装软件-CentOS和Ubuntu介绍
开发十年,就只剩下这套架构体系了! >>> 不同Linux发行版的软件安装会有不同的方式,其中CentOS安装软件的主要方式是rpm和yum,Ubuntu可以使用apt-get, ...
- win7安装scrapy
Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设 ...
- linux安装 inotify
[root@rsync-client-inotify ~]# yum install make gcc gcc-c++ [root@rsync-client-inotify ~]# wget http ...
- 13DBUtils工具类
如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC开发,本案例我们讲采用apache commons组件一个成员:DBUtils. DBUtils就是JDBC的简化开发工具包.需要项 ...
- ps:消除锯齿和羽化
我们使用椭圆选框工具,分别关闭和打开消除锯齿(也称抗锯齿),创建两个差不多大的正圆形选区,然后填充黑色看看.怎样快速填充黑色还记得吗?先[X]然后[ALT DELETE].填充之后取消选择[CTRL ...
- VS TODO注释快捷键
快速按出任务列表 todo 注释 Ctrl 键+ \| 键+ T键
- 对Promise的研究4
Promise.reject() Promise.reject(reason)方法也会返回一个新的 Promise 实例,该实例的状态为rejected. const p = Promise.reje ...
- iText导出PDF(图片,水印,页眉,页脚)
项目需要导出PDF,导出的内容包含图片和文本,而且图片的数量不确定,在网上百度发现大家都在用iText,在官网发现可以把html转换为PDF,但是需要收费,那就只能自己写了. 在开始之前先在网上百度了 ...
- basic deepwalk
Get to know How deepwalk works by this project. Two steps: 1. gen the graph, and gen the corpus on t ...
- php strtr()函数 语法
php strtr()函数 语法 作用:转换字符串中的某些字符直线电机生产厂家 语法:strtr(string,from,to)或者strtr(string,array) 参数: 参数 描述 stri ...