软件测试:通过jmeter完成对请求字段的加密
前言
相信大家在工作中做接口测试的时候,肯定会遇到一个场景,那就是你们的软件,密码是加密存储的。。
那么这样的话,我们在执行接口的时候,对于密码的处理就开始头疼了。。
所以,本文将使用 jmeter 这款 Java 开源的接口测试工具,给大家来讲解 jmeter 完成加密的接口请求
先导知识
在执行加密之前,你需要了解 3 个知识点:
元件-> 前置/后置处理器
beanshell 是什么
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 种方法:
在测试计划中直接引用
将 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、添加监听器-> 察看结果树,对返回数据进行确认。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
🏆「作者推荐」Java技术专题-JVM研究系列(49)JVM分析与调优技巧分析(原理篇)
JVM空间说明 在JDK1.7及以前,HotSpot虚拟机将java类信息、常量池、静态变量、即时编译器编译后的代码等数据,存储在Perm(永久带)里(对于其他虚拟机如BEA JRockit、IBM J9等是不存在永久带概念的),类的元数据和静态变量在类加载的时候被分配到Perm里,当常量池回收或者类被卸载的时候,垃圾收集器会回收这一部分内存,但效果不太理想。 JDK1.8时,HotSpot虚拟机对JVM模型进行了改造,将类元数据放到了本地内存中,将常量池和静态变量放到了Java堆里,HotSpot VM将会为类的元数据明确的分配与释放本地内存,在这种架构下,类元数据就突破了-XX:MaxPermSize的限制,所以此配置已经失效,现在可以使用更多的本地内存。这样一定程度上解决了原来在运行时生成大量的类,从而经常Full GC的问题——如运行时使用反射、代理等。 干货要点 可以发现最明显的一个变化是元空间从虚拟机转移到了本地内存。默认情况下,元数据空间大小仅受限于本地内存,这意味着以后不会因为永久代大小不够而抛出OOM异常了。 jdk1.8以前,HotSpot VM将class和类的j...
-
下一篇
深入浅出CMS垃圾收集器
听说微信搜索《Java鱼仔》会变更强哦! 本文收录于JavaStarter ,里面有我完整的Java系列文章,学习或面试都可以看看哦 (一)CMS垃圾收集器 CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的老年代收集器。CMS是基于标记-清除算法的老年代垃圾回收器,CMS是目前应用最广泛的老年代垃圾回收器。 CMS的使用只需要在JVM的启动参数中增加(-XX:+UseConcMarkSweepGC)参数即可激活使用CMS垃圾收集器。 CMS基于“标记-清除”算法实现,是HotSpot虚拟机的第一款真正意义上的并发收集器,基本上实现了垃圾收集线程与用户线程同时工作。 (二)CMS垃圾收集器的步骤 CMS的运行过程主要分为四个阶段: 1、初始标记:标记GC Roots可以直接关联到的对象,速度很快(stop the world) 2、并发标记:根搜索算法的过程 3、重新标记:为了修正并发标记期间,因程序运行导致标记产生变动的对象。(stop the world) 4、并发清除:清除垃圾 我画了一个图更加形象地展示上面四个流程,红色表示CMS线程...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程