当前位置: 首页 > news >正文

jmeter之MD5加密接口请求教程

前言: 有时候在项目中,需要使用MD5加密的方法才可以登录,或者在某一个接口中遇到
登录获取token后才可以进行关联,下面介绍下遇到的常见使用

一、第一种方法:使用jmeter自带的函数助手digest

  1. 选择工具,选择函数助手对话框,或者点击函数助手图标
    在这里插入图片描述
  2. 选择digest,配置如下,点击生成后关闭该界面(已经复制好了),用户名是手机号码,登录密码是:md5(‘zr’+密码+‘hg’)
    在这里插入图片描述
  3. 复制到请求接口的参数上面
    在这里插入图片描述
  4. 发起请求,返回成功,只给了password参数使用了md5加密
    在这里插入图片描述

在这里插入图片描述
6. 在查看结果树里面测试一下,获取token值
在这里插入图片描述

  1. 在获取token请求下加一个json提取器
    第一个值:变量名(任意取)
    第二个值:路径表达式(输入获取token的模板),
    第三个值:0是随机,1是选择第一个出现的date(以此类推),写0或1都行
    第四个值:缺省值,写一个默认返回值,没拿到就返回 error
    在这里插入图片描述
  2. 再获取token请求下添加一个调试后置处理器,执行后查看获取到了token值
    在这里插入图片描述
  3. 添加一个获取商品列表接口并获取所有商品id号,和python中的列表方法差不多
    测试的时候可加可不加$符号都行
    获取所有商品id号:.data[*].id
    获取前5个id号:.data[:5].id
    获取部分id号:.data[2:5].id
    在这里插入图片描述
  4. 获取商品列表这里添加一个json提取器,设置为0随机
    在这里插入图片描述
  5. 获取商品编号接口,请求成功
    在这里插入图片描述
  6. 添加秒杀接口,请求成功
    在这里插入图片描述
    在这里插入图片描述
    备注:如果最后做秒杀请求,做完全部后再做一个秒杀请求,添加一个tearDown
    请求会报错,因为当前变量不支持跨线程组,需要把参数设置成全局变量
    在这里插入图片描述
  7. 把token设置成全局变量,在token请求下添加一个Beanshell后置处理程序,使用函数
    助手setProperty来设置,点击生成,关闭界面,ctrl+v复制到当前Script里面
    在这里插入图片描述
    在这里插入图片描述
  8. 同样把获取商品接口详情也需要添加一个Beanshell后置处理程序
    在这里插入图片描述
  9. 对秒杀接口的参数使用全局变量
    在这里插入图片描述
  10. 请求后秒杀商品成功
    在这里插入图片描述

二、第二种:使用公司自己写的MD5规则,可能是jar包或者class文件或者java文件

第一种,使用md5.jar
  1. 从测试计划导入MD5.jar包
    在这里插入图片描述

  2. 获取token接口下面新增一个Beanshell预处理程序
    在这里插入图片描述

  3. 发起请求成功
    在这里插入图片描述
    Tips:如果不从测试计划中导入MD5.jar包,就把jar包存放到jmeter安装的路径lib\ext下面

把MD5.jar包存放到路径lib\ext下面之后,把测试计划添加的删除,Beanshell预处理程序如下,一样可以请求成功
在这里插入图片描述
在这里插入图片描述

第二种:使用class文件形式的jar包
  1. 在登录下面新增一个Beanshell预处理程序,发起请求成功
//导入MD5Util.class
addClassPath("D:\\算法文件\\MD5Util.class");
import MD5Util;
MD5Util test = new MD5Util();
String res = test.getMD5String("zr111111hg");
log.info("-------->"+res);vars.put("psw",res);

在这里插入图片描述

第三种:使用java文件形式的jar包
  1. 在登录下面新增一个Beanshell预处理程序,发起请求成功
//导入java文件source("d:\\算法文件\\MD5util.java");import MD5Util;MD5Util test = new MD5Util();
String res = test.getMD5String("zr111111hg");
log.info("MD5---------->"+res);
vars.put("psw",res);

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C语言-atoi()库函数的模拟实现
  • 摩尔投票法——代码实现及注释(力扣169题:找出列表中多数元素)
  • 源码编译安装LAMP
  • R可视化:另类的箱线图
  • Vue3实战笔记(47)— 一探emit奥秘——组件间通信的艺术与实践
  • React 微信扫码登陆网页
  • iOS推送证书过期处理
  • Java:String、StringBuffer和StringBuilder的区别
  • linux安装python第三方库情况
  • 防火墙基础基础篇:NAT转发功能之——Easy IP方式详解
  • dcache-android框架中的设计模式详解
  • 深圳比创达EMC|EMI电磁干扰行业:行业发展的关键与挑战
  • 汇编原理(二)寄存器——内存访问
  • 掌握SQL注入检测:深入理解SQLMAP工具
  • 成长之路Flutter中的TextField组件
  • 2017年终总结、随想
  • Git学习与使用心得(1)—— 初始化
  • Hibernate最全面试题
  • in typeof instanceof ===这些运算符有什么作用
  • java2019面试题北京
  • js学习笔记
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Octave 入门
  • vue自定义指令实现v-tap插件
  • 创建一种深思熟虑的文化
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 配置 PM2 实现代码自动发布
  • 前端攻城师
  • 区块链技术特点之去中心化特性
  • 如何合理的规划jvm性能调优
  • 数据科学 第 3 章 11 字符串处理
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 用Visual Studio开发以太坊智能合约
  • 找一份好的前端工作,起点很重要
  • 《码出高效》学习笔记与书中错误记录
  • Spring第一个helloWorld
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 交换综合实验一
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #NOIP 2014# day.1 T2 联合权值
  • #QT(串口助手-界面)
  • #QT(智能家居界面-界面切换)
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (3)llvm ir转换过程
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (Oracle)SQL优化技巧(一):分页查询
  • (八)c52学习之旅-中断实验
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十)Flink Table API 和 SQL 基本概念
  • (算法)求1到1亿间的质数或素数
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET MVC 验证码