为了账号安全,请及时绑定邮箱和手机立即绑定

JMeter传递token项目实战教程

概述

本文详细介绍了如何在JMeter中进行token传递的项目实战,包括获取token、将token添加到HTTP请求中以及使用JMeter变量存储token的全过程。通过步骤详细说明和代码示例,帮助读者理解和实现JMeter传递token项目的具体操作,确保token传递的正确性和性能。

JMeter基础入门
1.1 什么是JMeter

Apache JMeter 是一个完全开源的 Java 应用程序,主要用于 Web 应用程序的性能测试,它可以通过模拟多种负载情况来测试系统的性能,例如,不同的并发用户尝试同时访问一个网站。JMeter 可以测试静态和动态资源,网页后端的控制器,数据库服务器,FTP 服务器,甚至简单的 TCP 连接。

1.2 JMeter的下载与安装

JMeter 可以从其官方网站下载最新版本。以下是下载与安装步骤:

  1. 访问 JMeter 的官方网站,选择下载链接,下载最新的稳定版本。
  2. 解压缩下载下来的文件。
  3. 设置环境变量(可选)。将 JMeter 的 bin 目录添加到系统的 PATH 变量中,以便可以通过命令行直接运行 JMeter。
  4. 运行 JMeter。双击 jmeter.bat(Windows)或 jmeter.sh(Linux 和 macOS)文件启动 JMeter。
1.3 JMeter的基本组件介绍

JMeter 由多个组件构成,这些组件可以组合在一起创建测试计划,以下是常用的基本组件:

  • 线程组(Thread Groups):定义测试用户数量和测试循环次数。
  • Sampler(采样器):模拟客户端发送请求,如 HTTP 请求、JDBC 请求等。
  • Listeners(监听器):接收 Sampler 的结果,并以图表或数据的形式展示。
  • Timers(定时器):控制请求之间的延迟时间,模拟真实用户的访问间隔。
  • Assertions(断言):验证响应是否符合预期,确保系统功能的正确性。
  • Config Elements(配置元素):定义变量、参数化等。
  • Logic Controllers(逻辑控制器):控制逻辑流程,如循环、开关等。
Token简介与作用
2.1 什么是token

在计算机科学中,Token(令牌)是一种安全机制,用于验证用户的身份。当用户成功登录后,系统会生成一个唯一的 Token,用户可以使用这个 Token 代替用户名和密码进行后续的认证。Token 通常包含用户身份信息、过期时间和加密签名等部分。

2.2 token的作用及优点
  • 安全性:Token 传递时通常加密,安全性较高。
  • 无状态性:服务器端不需要存储 Token,减轻了服务器的负担。
  • 方便客户端存储:客户端(如浏览器)可以很方便地存储 Token,实现无状态会话。
  • 灵活性:Token 可以封装更多的信息,如过期时间、权限等。
2.3 何时使用token

在需要频繁验证用户身份的场景中使用 Token,例如,Web 应用中的 RESTful API 接口,移动端应用等。

使用JMeter发送HTTP请求
3.1 创建线程组

线程组用于定义测试用户数量和测试循环次数。在 JMeter 中,可以通过图形界面来创建线程组:

  1. 在主菜单 Test Plan 下,右键点击 Test Plan,选择 添加 -> Threads (Users) -> 线程组
  2. 在线程组设置中,设置线程数(模拟用户数)、Ramp-Up 时间(启动时间)和循环次数。
线程组配置示例:
- 线程数:10
- Ramp-Up 时间:1
- 循环次数:1
3.2 添加HTTP请求默认值

HTTP 请求默认值用于设置基本的全局配置,以便在后续的 HTTP 请求中可以使用这些默认值。可以通过图形界面来配置这些默认值:

  1. 右键点击线程组,选择 添加 -> 配置元件 -> HTTP请求默认值
  2. 在 HTTP 请求默认值中设置服务器名称或 IP 和端口号。
HTTP 请求默认值配置示例:
- 服务器名称或 IP:127.0.0.1
- 端口号:8080
3.3 添加HTTP请求采样器

HTTP 请求采样器用于模拟发送 HTTP 请求。可以通过图形界面来创建和配置 HTTP 请求采样器:

  1. 右键点击线程组,选择 添加 -> 取样器 -> HTTP请求
  2. 在 HTTP 请求中设置协议、服务器名称或 IP、端口号、路径等。
HTTP 请求采样器配置示例:
- 协议:http
- 服务器名称或 IP:127.0.0.1
- 端口号:8080
- 路径:/login
在JMeter中传递token
4.1 获取token

首先,你需要通过登录 API 获取 token。这里假设我们使用 POST 请求来获取 token,请求体中包含用户名和密码。

1. 右键线程组 -> 添加 -> 取样器 -> HTTP请求
2. 设置协议、服务器名称或 IP、端口号、路径。
3. 在消息体中输入以下 JSON:
       {
           "username": "user1",
           "password": "password123"
       }
4. 设置请求方法为 POST。
4.2 如何将token添加到HTTP请求中

假设你已经成功获取了 token,现在需要将其添加到后续的 HTTP 请求中。可以在请求头中添加一个名为 Authorization 的键值对,值为 Bearer {token}

1. 右键线程组 -> 添加 -> 取样器 -> HTTP请求
2. 设置协议、服务器名称或 IP、端口号、路径。
3. 在“HTTP 请求”中,点击“添加” -> “添加元素到 HTTP 请求” -> 头部管理器。
4. 在头部管理器中,添加名称 `Authorization`,值 `Bearer {token}`。
4.3 使用JMeter变量存储token

为了方便传递 token,可以将 token 存储为 JMeter 变量。

1. 在获取 token 的 HTTP 请求后,添加一个后置处理器 -> BeanShell 后置处理器。
2. 在 BeanShell 后置处理器中,输入脚本:
       String token = response.getBodyAsString();
       vars.put("token", token);
3. 确保在后续的请求中使用 `${token}` 来引用此变量。
JMeter测试结果分析
5.1 查看请求响应数据

查看请求响应数据可以在每个 HTTP 请求采样器中查看响应内容。

1. 右键 HTTP 请求采样器 -> 添加 -> 监听器 -> 查看结果树
5.2 使用监听器监控测试结果

监听器用于监控测试结果,常见的监听器包括:

  • 查看结果树:查看详细的测试数据。
  • 图形结果:展示结果的图形化视图。
  • 聚合报告:统计每个请求的响应时间、吞吐量等信息。
1. 右键线程组 -> 添加 -> 监听器 -> 图形结果
2. 右键线程组 -> 添加 -> 监听器 -> 聚合报告
5.3 导出测试报告

测试结束后,可以将测试结果导出为各种格式。

1. 右键线程组 -> 添加 -> 后置处理器 -> 导出报告
2. 导出格式可以是 JTL、HTML、CSV 等。
实战案例:完整token传递流程
6.1 准备工作

假设我们需要测试一个简单的登录接口,该接口返回一个 JSON 格式的 token。我们需要通过这个 token 访问其他受保护的资源。

6.2 步骤详细说明

6.2.1 创建测试计划

1. 在 JMeter 中创建一个新的 Test Plan。
2. 右键 Test Plan -> 添加 -> Threads (Users) -> 线程组。
3. 在线程组设置中,设置线程数为 1,Ramp-Up 时间为 1,循环次数为 1。

6.2.2 获取 token

1. 右键线程组 -> 添加 -> 取样器 -> HTTP请求
2. 设置协议为 http,服务器名称或 IP 为 127.0.0.1,端口号为 8080,路径为 /login。
3. 在消息体中输入以下 JSON:
       {
           "username": "user1",
           "password": "password123"
       }
4. 设置请求方法为 POST。

6.2.3 存储 token

1. 在获取 token 的 HTTP 请求后,添加一个后置处理器 -> BeanShell 后置处理器。
2. 在 BeanShell 后置处理器中,输入脚本:
       String token = response.getBodyAsString();
       vars.put("token", token);

6.2.4 使用 token 访问受保护资源

1. 右键线程组 -> 添加 -> 取样器 -> HTTP请求
2. 设置协议为 http,服务器名称或 IP 为 127.0.0.1,端口号为 8080,路径为 /protected。
3. 在头部管理器中,添加名称 `Authorization`,值 `Bearer ${token}`。
4. 设置请求方法为 GET。

6.2.5 查看测试结果

1. 右键线程组 -> 添加 -> 监听器 -> 查看结果树
2. 右键线程组 -> 添加 -> 监听器 -> 聚合报告
6.3 测试结果验证

在查看结果树中,可以查看每个 HTTP 请求的响应数据,确保 token 被正确传递,且请求成功。在聚合报告中,可以查看测试的总体性能指标,如响应时间、吞吐量等。

测试完成后,导出报告以供进一步分析。

1. 右键线程组 -> 添加 -> 后置处理器 -> 导出报告
2. 导出格式可以是 JTL、HTML、CSV 等。

以上步骤和代码示例详细介绍了如何在 JMeter 中实现 token 的传递和测试,通过这些步骤可以验证 token 传递过程中的正确性和性能。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消