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);

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/652830.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IC开发——verdi基本用法

1. 基础知识 1.1. verdi VCS和Verdi这两个工具,这两个工具目前都属于synopsys公司。VCS主要负责编译运行Testbench和RTL,并负责生成相应的波形文件。而verdi主要负责加载波形文件,查看信号的波形及其对应的代码来进行调试验证。Verdi最开始…

Spring Boot集成六大常用中间件,附集成源码,亲测有效

目录 万字论文,从0到1,只需1小时获取途径1、Spring Boot如何集成Spring Data JPA?2、Spring Boot如何集成Spring Security?3、Spring Boot如何集成Redis?4、Spring Boot如何集成RabbitMQ?5、Spring Boot如何…

PGP软件安装文件加密解密签名实践记录

文章目录 环境说明PGP软件安装PGP软件汉化AB电脑新建密钥并互换密钥对称密钥并互换密钥 文件加密和解密A电脑加密B电脑解密 文件签名A电脑签名文件B电脑校验文件修改文件内容校验失败修改文件名称正常校验 环境说明 使用VM虚拟两个win11,进行操作演示 PGP软件安装 PGP软件下…

ML307R OpenCPU 网络初始化流程介绍

一、网络初始化流程 二、函数介绍 三、示例代码 四、代码下载地址 一、网络初始化流程 模组的IMEI/SN获取接口可在include\cmiot\cm_sys.h中查看,SIM卡IMSI/ICCID获取接口可以在include\cmiot\cm_sim.h中查看,PDP激活状态查询可以在include\cmiot\cm_modem.h中查看 二、函…

Java面试八股之多线程编程中什么是上下文切换

多线程编程中什么是上下文切换 上下文切换(Context Switch)是操作系统为了实现多线程或进程并发执行而采取的一种机制。在Java多线程环境中,上下文切换具体指的是CPU控制权从一个正在运行的线程转移到另一个就绪并等待CPU执行权的线程的过程…

Python轴承故障诊断 (21)基于VMD-CNN-BiTCN的创新诊断模型

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Python轴承故障诊断入门教学-CSDN博客 Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客 Python轴承故障诊断 (14)高创新故障识别模型-CSDN…

职业探索--运维体系-SRE岗位/CRE岗位/运维岗位-服务心态-运维职业发展方向-运维对象和运维场景

参考来源: 极客时间专栏:赵成的运维体系管理课 极客时间专栏:全栈工程师修炼指南 赵成大佬在鹏讯云社区的文章(77篇) 有了CMDB,为什么还要应用配置管理 故障没有根因,别再找了 如何理解CMDB的套…

构建镜像时候出现奇怪的现象时候

一、背景 构建镜像时候,昨天还好好的,今天出现奇怪的现象 二、查看现象 docker system df#cache 显示600G 三、步骤 这操作比较轻微,20以前的缓存清理掉 docker builder prune --filter until480h # 清除20填以前的构建缓

【智能家居入门1】环境信息监测(STM32、ONENET云平台、微信小程序、HTTP协议)

作为入门本篇只实现微信小程序接收下位机上传的数据,之后会持续发布如下项目:①可以实现微信小程序控制下位机动作,真正意义上的智能家居;②将网络通讯协议换成MQTT协议再实现上述功能,此时的服务器也不再是ONENET&…

对于高速信号完整性,一块聊聊啊(16)

本文将进行串行链路前仿真(包括有源和无源) 1)在ADS中搭建好S参数无源链路原理图,并设置好各项参数,尤其是S仿真器频率、起始频率和步长,如下图所示。 2)查阅所需仿真的信号标准规范文件&#…

使用Python操作Jenkins

大家好,Python作为一种简洁、灵活且功能丰富的编程语言,可以与各种API轻松集成,Jenkins的API也不例外。借助于Python中的python-jenkins模块,我们可以轻松地编写脚本来连接到Jenkins服务器,并执行各种操作,…

服务器数据恢复—EVA存储异常断电重启后虚拟机无法启动如何恢复数据?

服务器存储数据恢复环境: 某品牌EVA8400,服务器上安装VMware ESXi虚拟化平台,虚拟机的虚拟磁盘包括数据盘(精简模式)快照数据盘,部分虚拟机中运行oracle数据库和mysql数据库。 服务器存储故障&检测&…

Python bqplot:轻松打造炫酷交互式数据可视化

更多Python学习内容:ipengtao.com bqplot是一个用于Jupyter Notebook的交互式数据可视化库,由Jupyter团队开发。它基于HTML5 Canvas和d3.js,并使用ipywidgets进行交互,允许用户通过Python代码创建复杂的交互式图表。bqplot的设计目…

【前端】XML和HTML的区别详解

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

重生之 SpringBoot3 入门保姆级学习(07、整合 Redis 案例)

重生之 SpringBoot3 入门保姆级学习&#xff08;07、整合 Redis 案例&#xff09; 导入 Maven 依赖并刷新 Maven <dependencies><!--springboot3 Web 依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring…

中创算力与中国移动初步达成战略合作意向,共同构建智能生态圈!

2024年5月14日&#xff0c;为进一步深化合作&#xff0c;促进业务共同发展&#xff0c;实现双方优势互补。中国移动云能力中心高级专家、郑州移动总经理助理邵根波、管城分公司政企部经理张文孟、航海东路分局张旭红莅临中创算力。中创董事长许伟威、副总经理杨光、技术总监刘朝…

视频营销的智能剪辑:Kompas.ai如何塑造影响力视频内容

引言&#xff1a; 在当今数字化的营销领域&#xff0c;视频内容已经成为品牌吸引用户注意力、建立品牌形象和提升用户参与度的重要方式。然而&#xff0c;要想制作出具有影响力的视频内容&#xff0c;并不是一件容易的事情。这就需要借助先进的技术和工具&#xff0c;如人工智能…

009、字符串_应用场景

缓存功能 Redis作为缓存层&#xff0c;MySQL作 为存储层&#xff0c;绝大部分请求的数据都是从Redis中获取。由于Redis具有支撑高 并发的特性&#xff0c;所以缓存通常能起到加速读写和降低后端压力的作用。 计数 许多应用都会使用Redis作为计数的基础工具&#xff0c;它可…

AI 绘画工具 Stable Diffusion 本地安装使用

最近要用到 AI 绘画&#xff0c;所以研究了下目前市面上的 AI 绘画工具&#xff0c;真可谓是琳琅满目&#xff0c;但主流的还是 Stable diffusion 和 Midjourney 两大阵营。 Midjourney 不多说&#xff0c;开箱即用&#xff0c;对新手非常友好&#xff0c;但不免费&#xff0c…

操作系统实验--终极逃课方法

找到图片里的这个路径下的文件 &#xff0c;结合当前题目名称&#xff0c;把文件内容全部删除&#xff0c;改为print print的内容为下图左下角的预期输出的内容