news 2026/6/4 22:55:07

四十六:Jmeter使用教程之验证码登录接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
四十六:Jmeter使用教程之验证码登录接口

一.首先打开Jmeter

1.快捷按钮:win+r会弹出快捷运行弹框,输入cmd后点击回车

2.弹出控制窗口,输入Jmeter,然后回车

3.首次进入Jmeter,页面显示空白页且默认英文

4.可以切换语言 【Options-Choose Language-Chinese】

5.打开的空白页面会默认新建【测试计划】, 可以给测试计划重新命名

6.然后新建【线程组】

7.同样重新命名,然后在登录线程组中新建【请求】

8.给请求输入对应的接口信息

8.1.填写接口信息

9.右键新建【查看结果树】,来查看请求结果

10.运行成功后,可以看到返回过来的响应结果

11.可以添加【断言】来判断结果是否达到预期

11.1.输入需要断言的值msg

12.添加的断言还需要添加【断言结果】,来查看断言的结果

12.1.断言结果的内容显示

13.需要从获取验证码的信息,然后传入登录接口中才能登录成功13.1.因此需要提取验证码中的code及uuid,所以需要右键添加【提取器】



13.2.这样便提取验证码接口中的code及uuid信息出来13.3.由于验证码过于复杂,浪费的时间太久。所以另辟蹊径,向开发要redis软件来帮助做验证码接口的测试
13.4.打开redis软件

13.5.token信息

13.6.此处刷新

13.7.需要接口中的uuid需要与redis对应

14.登录接口数据

15.右键新建登录【请求】

15.1.输入对应的请求信息

15.2.同样给登录接口添加【结果树】及【断言】、【断言结果】



16.当登录接口请求成功后,需要提取里面的token,右键添加【Json提取器】


17.获取用户信息接口
17.1.获取用户信息需要拿到登录接口的token数据(一般情况要测系统内的模块 都是要登录后才能可以,所以把token可以设置为全局变量)17.2.右键添加【http信息头管理器】


18.接口信息

18.1.接口信息中,有个请求头部数据信息,是需要发起请求的时候填入的所有token放入http信息头管理器里
19.【注意】:接口中去请求头的参数放入【http信息管理器】中,请求体的参数放入请求的消息体数据处

20.同样可以去添加【查看结果树】及【断言】去看发起请求后返回的数据20.1.也可以添加整个登录线程组的【查看结果树】,这样就可以看到线程组中所有请求的是否成功及返回的响应数据

二.全局配置补充

1.可以添加【http请求默认值】

三.升级版本

1.由于每次请求token都会更换,然后需要多次去redis中查看token及code非常的不方便,所以可以在Jmeter中配置,自动去获取更新的token及code
2.需要用到的文件:这个包是用来连接redies的

3.这个文件已经上传至资源,需要的自己拿,需要把这个包放入Jmeter的lib中 commons-pools是Jmeter自带的

4.Jmeter需要引用jar包

5.这样Jmeter就用安装插件的一个功能

6.然后我们去安装redies插件

7.回到Jmeter:在登录验证码接口中提取uuid

8.添加【BeanShell取样器】,讲uuid设置未全局变量,同样可以通过【函数助手】生成


9.然后把设置好的全局变量放入【用户定义的变量】中去,这样其他接口就能引用到里面的值

10.然后再通过连接redies去获取最新的code

importredis.clients.jedis.Jedis;importjava.util.ArrayList;importorg.apache.commons.lang3.StringUtils;String host="47.92.37.7";//服务器地址intport=6379;//端口号 String password="";//redis密码intindex=0;//redis db,默认为0String 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中
11.然后再把提取到的code及uuid传入登录接口中
12.这样可直接获取redies的值,可多次运行

四.【题外话】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 22:52:52

Arduino街机游戏开发:从状态机到非阻塞编程的嵌入式实践

1. 项目概述:从零打造一款Arduino街机游戏如果你手头有一块Arduino开发板、几个按钮和一块LCD屏幕,除了让LED闪烁,还能玩出什么花样?今天,我想分享一个我花了些时间打磨的小项目——“Ninja Dollar”游戏。这不仅仅是一…

作者头像 李华
网站建设 2026/6/4 22:52:47

GCP上部署OpenClaw全攻略

在 GCP Compute Engine 上运行 OpenClawOpenClaw 是一个开源的自动化工具,用于执行复杂的任务。在 Google Cloud Platform (GCP) 的 Compute Engine 上运行 OpenClaw 可以充分利用云计算的弹性和可扩展性。以下是在 GCP Compute Engine 上部署和运行 OpenClaw 的详细…

作者头像 李华
网站建设 2026/6/4 22:52:11

GPT-5是假消息?2024年真实可用的大模型能力替代方案

我必须明确指出:GPT-5 并未发布,当前(2024年中)不存在 GPT-5、GPT-5 nano、GPT-5 pro 或任何官方命名的“GPT-5”系列模型。你提供的原文是一篇虚构的、完全不存在的假新闻稿——它混杂了真实时间戳(2025.08.08&#x…

作者头像 李华
网站建设 2026/6/4 22:52:00

跨平台安卓手机实时投屏+触控控制工具(Python+PyQt5,免Root)

本文还有配套的精品资源,点击获取 简介:一款基于Python和PyQt5开发的安卓手机投屏与远程操控工具,支持Windows、macOS、Linux三大系统直接运行。无需Root权限,通过ADB调试协议实现手机屏幕实时镜像显示、鼠标点击/滑动模拟、物…

作者头像 李华
网站建设 2026/6/4 22:48:36

9-2. 软件流程图如何打开

1、软件流程图如何打开 我们提供的软件流程图有word版和visio版两个版本,但都是一模一样的。 2、word版怎么打开 想要打开.docx文件需要安装一个Word软件,具体安装教程以及安装包获取可以看本站的“软件下载”部分,“Word安装教程“&#x…

作者头像 李华