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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并查集拓展(扩展域并查集)

事实证明,扩展域并查集应该在带权并查集前面讲的,因为比较好理解,而且回过头看带权并查集可能也会更轻松一些。 https://www.luogu.com.cn/problem/P1892https://www.luogu.com.cn/problem/P1892 题目描述 现在有 𝑛 个人&…

算法解析——单身狗问题

欢迎来到博主的专栏:算法解析 博主ID代码小豪 文章目录 什么是单身狗问题leetcode_136——只出现一次的数字I使用位运算解决单身狗问题。 leetcode_137——只出现一次的数字II统计二进制数解决单身狗问题leetcode_260 只出现一次数字III分区域按位异或解决问题。 总…

C语言:如何写文档注释、内嵌注释、行块注释?

技术答疑流程 扫描二维码,添加个人微信;支付一半费用,获取答案;如果满意,则支付另一半费用; 知识点费用:10元 项目费用:如果有项目任务外包需求,可以微信私聊

【scikit-learn009】异常检测系列:单类支持向量机(OC-SVM)实战总结(看这篇就够了,已更新)

1.一直以来想写下机器学习训练AI算法的系列文章,作为较火的机器学习框架,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下scikit-learn框架OCSVM模型相关知识体系。 3.欢迎批评指正,欢迎互三,跪谢一键三连! 4.欢迎…

Vue3实战笔记(57)—一键换肤:在Vuetify中打造个性化主题切换体验

文章目录 前言一键换肤总结 前言 在当今追求极致用户体验的时代,为应用程序提供个性化的主题切换功能已经成为提升用户满意度和留存率的关键因素之一。Vuetify,作为基于Vue.js的流行前端框架,以其丰富的组件库和高度可定制性,为开…

day05-多任务-正则-装饰器

一、多任务 1-进程和线程 进程是操作系统分配资源的最小单元 线程执行程序的的最小单元 线程依赖进程,可以获取进程的资源 一个程序执行 先要创建进程分配资源,然后使用线程执行任务 默认情况下一个进程中有一个线程 2-多任务介绍 运行多个进程或线程执…

民国漫画杂志《时代漫画》第38期.PDF

时代漫画38.PDF: https://url03.ctfile.com/f/1779803-1248636380-dd7daa?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

CATIA进阶操作——创成式曲面设计入门(1)线架设计,三维点、直线、平面、曲线

目录 引出三维空间点生成三维直线三维平面三维曲线总结异形弹簧新建几何体草图编辑,画一条样条线进行扫掠,圆心和半径画出曲面上的螺旋线再次选择扫掠,圆心和半径 其他自定义信号和槽1.自定义信号2.自定义槽3.建立连接4.进行触发 自定义信号重…

【YOLOv5/v7改进系列】引入ODConv——即插即用的卷积块

一、导言 提出了一种称为全维度动态卷积(ODConv)的新颖设计,旨在克服当前动态卷积方法的局限性并提升卷积神经网络(CNN)的性能。以下是该论文提出的全维度动态卷积设计的优点和存在的缺点分析: 优点: 增强特征学习能力: ODConv通…

【UML用户指南】-04-从代码到UML的关键抽象

1、关键抽象 声明了一个名为paint的操作,它的实现调用名为drawString的另一个操作,drawString操作负责在指定的位置上打印“Hello,World!”。在通常的面向对象的方式下,drawString是一个名称为g的参数上的一个操作,g的类型是类Gr…

VMWare下安装Linux虚拟机(图文)

大家好,在当今科技发展迅速的时代,虚拟化技术在企业和个人用户中变得越来越普遍。VMware作为一款领先的虚拟化软件,为用户提供了在单一物理计算机上运行多个操作系统的能力,为开发、测试和运维等任务提供了便利。在这篇文章中&…

打开C语言常用的内存函数大门(三) —— memset()函数(内含讲解用法和模拟实现)

文章目录 1. 前言2. memset函数2.1 memset函数原型2.2 memset函数参数的介绍2.3 memset函数的使用演示 3. memset函数的模拟实现4. 总结 1. 前言 哈喽,我们又见面了。通过前面两个内存函数(memcpy、memmove函数)讲解的锤炼后,对如何解析一个自己从来没有…

【TB作品】msp430f5529单片机墨水屏,口袋板,tmp421温度,温控风扇

文章目录 一、扬声器模块介绍二、驱动介绍三、程序介绍四、全部代码下载 msp430f5529d单片机墨水屏,口袋板,tmp421温度,温控风扇 基本要求:高于20度开转,温度越高转速越快,高于40度风扇停转,温…

知识计算概述

文章目录 知识计算研究现状技术发展趋势 知识计算 随着知识图谱技术及应用的不断发展,图谱质量和知识完备性成为影响知识图谱应用的两大重要难题,以图谱质量提升、潜在关系挖掘与补全、知识统计与知识推理作为主要研究内容的知识计算成为知识图谱应用的重…

C语言 | Leetcode C语言题解之第119题杨辉三角II

题目&#xff1a; 题解&#xff1a; int* getRow(int rowIndex, int* returnSize) {*returnSize rowIndex 1;int* row malloc(sizeof(int) * (*returnSize));row[0] 1;for (int i 1; i < rowIndex; i) {row[i] 1LL * row[i - 1] * (rowIndex - i 1) / i;}return row…

Qt第三方库QicsTable简单实例(1)

闲来无事&#xff0c;无意间看到一个Qics表格操作第三方库&#xff0c;自己写了一个特别简单的实例&#xff0c;效果如图所示&#xff1a; 操作界面的数据还是特别快的&#xff0c;因为使用了模型

【Spring Cloud】分布式配置动态刷新

目录 问题解决方案1.使用Spring Boot Actuator监控接口【不推荐】流程图使用Spring Boot Actuator的步骤 2.Spring Cloud Bus第一种方案问题Spring Cloud Bus流程图Spring Cloud Bus实现客户端刷新的步骤开发准备实现1. 在config-server中添加依赖2.在config-server中添加配置a…

你喜欢什么样的狗?喜欢内狗还是外狗?论看门狗的重要性:极低功耗微处理器复位电路CN803/CN809/CN810

看门狗&#xff1a;缩写WTD,英文WATCH DOG. 你的程序会死机吗&#xff1f; 陷入死循环或程序指针不知跑哪里去了&#xff0c;看门狗的作用是把程序拉回来&#xff0c;重新开始跑。 有了看门狗&#xff0c;程序就不会死机&#xff0c;所以很重要。 比如一个温度控制器&#xf…

OBproxy基础运维

简介 obproxy 属于OceanBase的代理&#xff0c;生产环境中 OceanBase 数据库的数据 会以 多副本的形式 存放在各个 OBServer 节点上&#xff0c;obproxy 接收用户发出的 SQL 请求&#xff0c;并将 SQL 请求转发至最佳目标 OBServer 节点&#xff0c;最后将执行结果返回给用户&…

算法题解记录27+++随机链表的复制(百日筑基)

一、题目描述&#xff1a; 题目难度&#xff1a;中等 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每…