jmeter使用教程之验证码登录接口(工作日记)

2023-11-19

首先我们打开jmeter

快捷按钮:win+r 会弹出快捷运行弹框,我们输入cmd 后点击回车
在这里插入图片描述
会弹出一个控制窗口,我们输入jmeter,然后回车

在这里插入图片描述
首次进入jmeter,页面显示空白页且默认英文
在这里插入图片描述

我们可以切换语言 【Options - Choose Language - Chinese】
在这里插入图片描述
打开的空白页面会默认新建一个测试计划 我们可以给测试计划重新命名
在这里插入图片描述

然后我们新建一个线程组

在这里插入图片描述
同样重新命名,然后在登录线程组中新建一个请求
在这里插入图片描述
在这里插入图片描述
给请求输入对应的接口信息
接口信息:
在这里插入图片描述
填写接口信息

![![在这里插入图片描述](https://img-blog.csdnimg.cn/e78a1b7ab9a24b66be57eb01e4b79b23.png](https://img-blog.csdnimg.cn/34764d7ba6784b519080c659c2fa38fe.png

右键新建查看结果树,来查看请求结果

在这里插入图片描述
运行成功后,我们可以看到返回过来的响应结果
在这里插入图片描述

我们还可以添加断言来判断结果是否达到预期
在这里插入图片描述
输入需要断言的值msg
在这里插入图片描述
添加的断言我们还需要添加断言结果,来查看断言的结果
在这里插入图片描述
断言结果的内容显示
在这里插入图片描述
我们需要从获取验证码的信息 然后传入登录接口中才能登录成功,因此我们需要提取验证码中的 code及uuid,所以我们需要右键添加提取器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这样便提取了验证码接口中的code及uuid信息出来
由于验证码过于复杂 浪费的时间太久,所以我们另辟蹊径,向开发要了redis 软件来帮助做验证码接口的测试
【打开redis软件】
在这里插入图片描述
token信息
在这里插入图片描述
此处刷新

在这里插入图片描述
需要接口中的uuid 需要与redis对应
在这里插入图片描述

登录接口

接口数据:
在这里插入图片描述

右键新建登录请求
在这里插入图片描述
输入对应的请求信息
在这里插入图片描述
同样我们给登录接口添加结果树及断言、断言结果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

当登录接口请求成功后,我们需要提取里面的token,右键添加json提取器

在这里插入图片描述
在这里插入图片描述

获取用户信息接口

获取用户信息需要拿到登录接口的token数据(一般情况要测系统内的模块 都是要登录后才能可以,所以我们把token可以设置为全局变量)
【右键添加http信息头管理器】
在这里插入图片描述
在这里插入图片描述
接口信息:
在这里插入图片描述
接口信息中,有个请求头部数据信息,是需要我们发起请求的时候填入的所有我们 token放入http信息头管理器里
【注意】接口中去请求头的参数放入http信息管理器中,请求体的参数放入请求的消息体数据处
在这里插入图片描述
同样我们可以去添加查看结果树及断言去看发起请求后返回的数据
也可以添加一个整个登录线程组的查看结果树,这样我们就可以看到线程组中所有请求的是否成功及返回的响应数据
在这里插入图片描述

全局配置补充

在这里插入图片描述
也可以添加一个http请求默认值
在这里插入图片描述

升级版本

由于每次请求token都会更换 然后我们需要多次去redis中查看token及code非常的不方便 所有我们可以在jmeter中配置,自动去获取更新的token及code
需要用到的文件:
这个包是用来连接redies的
在这里插入图片描述
这个文件我已经上传至资源,需要的自己拿,我们需要把这个包放入jmeter的lib中
commons-pools是jmeter自带的
在这里插入图片描述
jmeter需要引用jar包:
在这里插入图片描述
这样我们jmeter就用安装插件的一个功能了
在这里插入图片描述
然后我们去安装redies插件
在这里插入图片描述

回到jmeter:
在登录验证码接口中提取uuid
在这里插入图片描述

添加【BeanShell取样器】,讲uuid设置未全局变量
同样我们可以通过函数助手生成
在这里插入图片描述
在这里插入图片描述
然后我们把设置好的全局变量放入【用户定义的变量】中去,这样其他接口就能引用到里面的值
在这里插入图片描述
然后我们再通过连接redies去获取最新的code
在这里插入图片描述

import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import org.apache.commons.lang3.StringUtils;
 
String host = "47.92.37.7"; //服务器地址
 
int port = 6379; //端口号
 
String password = ""; //redis密码
 
int index = 0; //redis db,默认为0
 
String key = "captcha_codes:${__property(uuid)}"; //key值,需要读取数据的键值
 
Jedis jedis = new Jedis(host, port);
 
if(StringUtils.isNotBlank(password)){
jedis.auth(password);
}

jedis.select(index); //选择redis  db
String value= jedis.get(key);  //通过key值获取对应value

log.info("value:"+value);

vars.put("code",value);  //将获取的value值保存到jmeter变量code中

然后我们再把提取到的code及uuid传入登录接口中
在这里插入图片描述
这样可直接获取redies的值,可多次运行

【题外话】
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jmeter使用教程之验证码登录接口(工作日记) 的相关文章

  • JMeter在HTTP请求中使用beanshell变量

    我是这里的绝对菜鸟 我的意思是JAVA 花了几个小时寻找解决方案 现在我只想开枪自己 我想在 beanshell 断言中创建一个字符串 该字符串位于 HTTP 请求的正上方 在 beanshell 中我写道 String docid abc
  • 使用extentreports获取jmeter测试结果

    对于任何使用 jmeter 进行 api 功能测试的人来说 报告并不是那么好 有没有人用过类似的东西http extentreports com http extentreports com 显示他们的测试结果 关于更好地显示测试结果的其他
  • 使用Java代码进行Jmeter分布式测试

    我能够使用 Java 代码运行 Jmeter 但如果我想做与分布式测试相同的操作 那么如何在 Java 代码中添加远程引擎 这是一个sample http alvinalexander com java jwarehouse jakarta
  • jmeter无法记录浏览器操作

    我正在使用 apache jmeter 2 6 我想使用 HTTP 代理服务器记录浏览器操作 但动作并没有记录 我已经在线程组下定义了 HTTP 请求默认值 我为服务器名称指定了值 如下所示 http www xxxxx com 81 ht
  • JMeter:为单个用户触发多个并发 HTTP 请求

    我有一个带有线程组和 Cookie 管理器的 JMeter 负载测试脚本 线程组中的用户首先使用HTTP采样器登录来获取cookie 然后 循环控制器触发交错采样器 该采样器在几个向服务器发出查询的 HTTP 采样器之间交替 现在 我希望交
  • Jmeter JSR223 Sampler - 无法将数据写入 CSV 文件

    我正在使用 Jmeter v4 0 r1823414 根据这个答案 https stackoverflow com questions 50820389 unable to set incremental variable in jmete
  • Jmeter - 如何向计数器添加前缀。类似于随机变量

    目前 在随机变量中 我可以在变量的输出格式中添加前缀或后缀 然而 这个很好的功能不适用于简单的计数器控制器 每次使用变量时连接 string counter 对我来说并不是一个好的选择 因为我经常这样做 有没有办法以随机变量的方式实现前缀
  • JMeter 记录使用 HTTPS 的 iOS 本机应用程序会导致 SSL 握手问题

    我有一个用于我们的应用程序的 IPAD 混合应用程序 它会在登录过程中尝试访问我们的 https 服务器 我想使用 JMeter 来记录这个简单的流程 我正在本地计算机上运行 JMeter 代理服务器 我更新了 IPAD 代理详细信息 以便
  • Apache JMeter 的 Cookie 管理器未将 cookie 添加到 POST 请求

    我制定了非常简单的测试计划 登录 POST 返回会话cookie 获取状态 GET 返回用户状态 创建资源 POST 为资源提供 JSON 正文 所以我的 测试计划 如下所示 Test Plan Thread Group HTTP 请求默认
  • 如何通过java编码生成Jmeter仪表板报告。 (不是 Windows 或 shell 命令)

    我必须通过java编码生成Jmeter仪表板报告 在java代码下面 我用来生成正常的jmeter报告 我必须生成一个 通过java的仪表板报告 public class JMeterFromExistingJMX public stati
  • 在jmeter中设置整个请求url

    我有一个请求 它提供上传网址作为响应正文 uploadUrl https test com 9000 sample uploadurl I m able to extract the uploadUrl using JSON extract
  • 如何在 JMeter 中使用命令行参数

    我正在使用 Jmeter 测试 API 我想从终端参数化项目的路径 然后我想在 JMeter 中使用此参数 我通过命令行发送的参数 jmeter n t your script jmx Jurl abcdef com 我在用户定义变量中使用
  • Jmeter 下降的最佳方法?

    我们都知道 Jmeter 并不是最擅长在运行期间更改活动线程的数量 除非您喜欢并创建以不同时间间隔触发的单独线程组 有没有人想出一个好的解决方案来在测试结束时降低速度 例如 我从 50 个线程开始 在 30 分钟内我想要 0 个活动线程 查
  • XPath JMeter 断言:错误“前缀必须解析为命名空间”

    我正在尝试使用JMeter XPath 断言 https jmeter apache org usermanual component reference html XPath Assertion使用 XPath 断言命令对标签值进行如下操
  • Jmeter 和 Bitbucket 服务器负载测试

    我是 Jmeter 的新手 我有一个本地托管的 Bitbucket 服务器 有时 当 Bamboo plan 触发并发 git 克隆操作时 会发现 Bitbucket 服务器变得缓慢 无响应 我必须重新启动服务 我想通过对另一个本地创建的
  • JMeter:来自 Jenkins 的九个以上参数

    我试图将超过九个参数从 Jenkins 传递到 JMeter4 0 当我阅读时 我发现 JMeter 不接受超过 9 个参数 作为解决方法 我想将所有参数作为字符串传递 并在 JMeter BeanShell 中将其拆分 java jar
  • 使用 SOAP 调用 WCF 服务

    我正在尝试在不创建 WCF 客户端的情况下测试 WCF 服务 我有类似的代码 问题here https stackoverflow com a 1643025 1397017 我希望完全控制 SOAP 负载 因此我希望能够发出我自己的 We
  • Jmeter 线程真的接近用户吗?

    我正在尝试使用记录控制器设置 JMeter 负载测试 这会导致 Web 浏览器进行的所有调用重复 包括 css 文件 js 文件和图像 假定 Web 浏览器会同时获取这些内容 同时执行大约 10 个 Web 请求 jmeter 文档倾向于将
  • 通过 JMeter 正则表达式解析 HTML

    我在 JMeter 中的正则表达式方面遇到一些问题 我有这个 HTML 表单
  • 在 Jmeter 中将变量从一个 http 请求传递到另一个 http 请求

    我必须将变量从 jmeter 中的 xpath 提取器传递到另一个 http 请求 我怎样才能做到这一点 我想在http请求的标头中传递变量 我已将 xpath 提取器中的变量保存为LoginToken 尝试在第二个 http 请求的标头中

随机推荐

  • 【顺序表图书管理】

    一 实验目的 掌握顺序存储的线性表的创建 查找 插入 删除和输出操作 二 实验内容 实现一个存放图书信息的顺序表 三 实验要求 图书的基本信息有图书编号 例如 1 2 3 4等 书名和价格等 对图书的顺序表进行查找 插入 删除和输出操作 3
  • 一些关于dagger2的理解(一)

    转自 http blog csdn net shareye1992 article details 51398554 首先 真实的原理我不准 但是我还是提供我的理解 阅读这篇文章希望读者能满足一个假设 不管懂不懂 看过一些其他关于dagge
  • tshark命令小结

    基本语法 tshark a
  • centos7安装kubeadm

    安装配置docker v1 9 0版本推荐使用docker v1 12 v1 11 v1 13 17 03也可以使用 再高 版本的docker可能无法正常使用 测试发现17 09无法正常使用 不能使用资源限制 内存CPU 安装docker
  • 制作词云(纯代码)

    词云技术是一种将单词数据可视化的技术 通常将单词按照出现频率在一个图形中显示 单词在图形中的大小表示其出现的频率 词云技术最初是为了数据挖掘和文本分析而开发的 但现在它已经成为了一种常见的数据可视化方式 常用于展示文章 调查问卷 舆情分析等
  • 建站系列(四)--- Web服务器之Apache、Nginx

    目录 相关系列文章 前言 一 简介 二 Apache与Nginx 1 Apache与Nginx的区别 2 Nginx相对于Apache的优点 3 Apache相对于Nginx 的优点 4 选择 三 反向代理与正向代理 相关系列文章 建站系列
  • Flutter可滚动Widgets-ListView

    ListView 先看下如下截图 以上效果图的代码 是从 flutter官方demo flutter gallery内copy的部分代码 首先 首先定义一个列表 代码如下 List
  • 攻防世界web---新手练习区

    查看网页源代码 根据提示 查看网页源代码 发生了什么 鼠标右键不管用了 F12看到了什么 哈哈哈哈哈 robots协议 也太简单了吧哈哈哈 备份文件 打开御剑扫描后台 cookie 没什么发现 抓包看看 看看cookie php 看http
  • Phase Sensitive Filter

    复数转换 如下图复数 由于 所以 这个就是复数的三角形式 这里 是模 是辅角 在讨论音频频域 即stft变换后的复数时 分别称为幅值和相位 根据欧拉公式 其中i是虚数符号 可得 这个公式可以方便地把幅值和相位还原回复数 进而做istft 将
  • java需会(转载)

    一 基础篇 1 1 Java基础 面向对象的特征 继承 封装和多态 final finally finalize 的区别 Exception Error 运行时异常与一般异常有何异同 请写出5种常见到的runtime exception i
  • Nginx日志常见时间变量解析

    request time 官方解释 request processing time in seconds with a milliseconds resolution time elapsed between the first bytes
  • js做四则运算时,精度丢失问题及解决方法

    一 前言 这个问题可以说是程序员必踩的坑 因此网上针对该问题的分析有很多也很详细 解决方法也比较统一 写法也是大同小异 本以为预期效果真能如他们所说是完美的 然而效果却是差强人意 二 问题 首先 先来看看两数相加的一个经典问题 网上找过不少
  • android系统下使用openGL开发demo

    对openGL早有耳闻 但是刚接触android下的opengl 做个demo学习下 先把opengl的框架搭建起来 只要有如下几个文件 openActivity java 作为启动入口 android通过GLSurfaceView显示op
  • Unity笔记:修改代码执行的默认打开方式

    使用 External Tools 偏好设置可设置用于编写脚本 处理图像和进行源代码控制的外部应用程序 External Script Editor 选择 Unity 应使用哪个应用程序来打开脚本文件 Unity 会自动将正确的参数传递给内
  • js判断输入框不能全是空格

    var sno sno val var sname sname val while sno lastIndexOf gt 0 sname lastIndexOf gt 0 sno sno replace sname sname replac
  • Python图像处理实战:处理和分析图像数据

    引言 在现代数字化时代 人们生产和获取数以亿计的数字图像 具体而言 这些图像数据常用于计算机视觉 模式识别 医学影像 地球观测和卫星遥感等领域 通过高级图像处理技术 可以从这些数据中提取出有用的信息 从而支持实现各种应用 本文主要介绍Pyt
  • JS学习笔记十二——DOM 操作

    DOM 操作 一 DOM 操作 二 结语 一 DOM 操作 DOM 全名为 Document Object Model 是一整套操作文档流相关内容的属性和方法 这些方法可以用于操作元素修改样式 修改属性 改变位置 添加事件等 DOM 操作内
  • Selenium成长之路-26分页处理

    很长时间没有补充selenium 的脚本了 今天有小朋友问我 如何定位分页 告诉完 索性把代码贴出来 gt gt gt url 填写自己项目中的url地址即可 上代码 coding utf 8 auth carl DJ time 2020
  • 新手教程02:使用makefile脚本进行VCS逻辑仿真

    目录 前言 使用makefile脚本的方式使用VCS 1 新建文件夹 存放需要仿真的rtl代码 2 生成 filelist f 文件 罗列所有rtl文件的路径 3 书写makefile脚本 4 terimal中运行命令 进行仿真 总结 前言
  • jmeter使用教程之验证码登录接口(工作日记)

    首先我们打开jmeter 快捷按钮 win r 会弹出快捷运行弹框 我们输入cmd 后点击回车 会弹出一个控制窗口 我们输入jmeter 然后回车 首次进入jmeter 页面显示空白页且默认英文 我们可以切换语言 Options Choos