Jmeter 测试 MQ 接口怎么做?跟我学秒变大神!

MQ(message queue)消息队列,是基础数据结构 先进先出 的一种典型数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。

MQ 主要产品包括:RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ、Kafka

MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议

至于现在企业中,特别是电商企业中,喜欢用 MQ 的原因,可以参考前文:

注意:如果已经有 MQTT 环境,环境搭建这一章节,可以跳过

安装

准备一台 Linux 机器(以 centos7),搭建国内开源 emqx 项目,目前该项目最新版本,还未发布 centos8 版本,所以,如果您的电脑为 centos8,CentOS7 均可以执行:

图片

启动

执行:

图片

访问

MQTT 服务采用 TCP 协议传输数据,端口有多个,其中可以外部访问的端口默认 1883。

管理台访问端口 18083,用户:admin,密码:public

图片

配置及日志

配置文件:/etc/emqx/emqx.conf

listener.tcp.external = 0.0.0.0:1883 # 可以外网访问的端口

listener.tcp.internal = 127.0.0.1:11883 # 只能本机访问

log.dir = /var/log/emqx # 日志文件路径

log.level = warning # 日志级别

log.file = emqx.log # 日志文件,会自动在后面增加数字

日志文件:/var/log/emqx

  • 参考:

  • https://docs.emqx.io/broker/v3/cn/install.html#

  • https://docs.emqx.io/broker/latest/cn/

Jmeter 测试 MQTT

方法一:

安装插件 MQTT Protocol Support

启动 jmeter,进入 选项(options) > Plugins Manager > Available Plugins 搜索 MQ, 选择 MQTT Portocol Support, 然后安装并重启 jmeter。

图片

安装成功后,在 jmeter 的取样器中,新增了 MQTT Publisher、MQTT Subscriber

图片

其中,MQTT Subscriber 是注册一个主题,MQTT Publisher 是使用主题发送消息。

添加 MQTT Subscriber 在 Provider URL 地址中,填写你的服务器 ip,然后点击右侧的 Generate ID 自动生成 Client ID,然后再在 Topic 中,输入一个主题信息,在 Text Message 中,填写要发布的信息。run 一下,就成功了。

图片

方法二:

使用 WebSocket 插件

在插件管理中,安装 WebSocket Samplers by Peter Doornbosch

图片

安装成功后,在取样器中,添加 WebSocket Open Connection, 协议选择默认的 ws, ip 填写你的服务器 ip 地址,端口默认为 8083,Path 根据你的 MQ 的 socket 地址填写。

图片

再添加 WebSocket Single Write Sample, Connection 选择 use existing connection, 在 Request data 中,填写要发送的信息,run 一下,搞定。

图片

好了, 关于 Jmeter 如何调用 MQ 的测试方法,我们就介绍到这。你都掌握了吗?

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

<think>嗯,用户想了解如何使用JMeter进行API接口测试的方法和步骤。首先,我需要回忆一下JMeter的基本使用流程,同时结合之前提供的引用内容来组织答案。根据用户提供的引用,有几个关键点需要注意:比如JMeter的中文配置、主要元件、测试流程,还有压力测试的最佳实践,比如非GUI模式的使用。 首先,用户的问题集中在接口测试,所以需要分步骤说明。可能需要从环境准备开始,比如安装JMeter和配置中文环境,因为引用3和4都提到了修改配置文件来设置语言。然后,创建测试计划,添加线程组,配置HTTP请求,设置断言,监听结果,这些都是基本步骤。还要考虑参数化和关联,比如CSV文件的使用,这在接口测试中很常见。最后,非GUI模式执行和生成报告,引用1提到了压力测试时使用非GUI模式,所以需要包含这个步骤,尽管用户的问题是关于接口测试,但可能也涉及到性能方面的考虑。 用户可能还关心如何验证响应是否正确,所以断言部分很重要。引用中提到的主要元件,比如线程组、HTTP请求、监听器等,都需要详细解释。此外,用户可能想知道如何将测试集成到持续集成流程中,比如使用Jenkins,但引用2提到的是maven集成JMeter插件,不过用户的问题可能暂时不需要这部分,但可以作为相关扩展问题。 需要注意的是,用户之前的问题可能涉及压力测试,但这次是接口测试,所以重点放在功能测试流程上。同时,要确保步骤清晰,适合新手跟随操作。可能还需要提醒一些常见问题,比如参数化时的量引用格式,或者如何保存测试计划。 另外,引用1和引用3、4都提到了中文配置,所以步骤中要包含如何设置中文界面,这样用户更容易上手。同时,非GUI模式虽然主要用于压力测试,但在接口测试中执行时也可以使用,尤其是自动化场景,所以需要说明命令行执行的方法。 最后,生成HTML报告可能对用户有用,引用1提到了生成web报告文件夹,所以在步骤中可以加入这部分内容。还要确保所有步骤中的JMeter术语正确,比如线程组、Sampler、断言等,并用例子帮助理解,比如HTTP请求的配置界面。 总结一下,回答的结构应该是:环境准备、创建测试计划、配置请求、添加断言、参数化、执行测试、结果分析、高级技巧,然后相关问题。需要按照逻辑顺序,逐步引导用户完成整个过程,并参考提供的引用内容来增强答案的准确性。</think>### 如何使用 JMeter 进行 API 接口测试的步骤 #### 一、环境准备 1. **安装 JMeter** - 从 [Apache JMeter 官网](https://jmeter.apache.org/)下载对应操作系统的版本 - 解压后进入 `bin` 目录,运行 `jmeter.bat`(Windows)或 `jmeter.sh`(Linux/macOS) 2. **配置中文界面** - 修改 `jmeter.properties` 文件(位于 `bin` 目录) - 搜索 `language`,将 `#language=en` 改为 `language=zh_CN`,保存后重启 JMeter[^3][^4] #### 二、创建基础测试计划 1. **添加线程组** - 右键测试计划 -> 添加 -> 线程(用户)-> 线程组 - 设置线程数(模拟用户数)和循环次数 2. **配置 HTTP 请求** - 右键线程组 -> 添加 -> 采样器 -> HTTP 请求 - 填写接口信息: - 协议(HTTP/HTTPS) - 服务器名称或 IP - 端口号(默认 80 或 443) - 请求方法(GET/POST/PUT/DELETE) - 路径和请求参数(如 `/api/user?id=123`) - 示例: ```plaintext 协议: https 服务器名称: api.example.com 路径: /v1/login 参数: username=test&password=123 ``` 3. **添加响应断言** - 右键 HTTP 请求 -> 添加 -> 断言 -> 响应断言 - 设置验证规则(如状态码 200、包含特定字符串 `"success": true`) #### 三、参数化与关联 1. **CSV 数据文件配置** - 右键线程组 -> 添加 -> 配置元件 -> CSV 数据文件设置 - 指定 CSV 文件路径,定义量名(如 `username,password`) - 在 HTTP 请求中使用 `${username}` 格式引用量 2. **JSON 提取器(用于关联)** - 右键 HTTP 请求 -> 添加 -> 后置处理器 -> JSON 提取器 - 设置表达式提取返回值(如 `$.token` 提取登录后的令牌) #### 四、执行测试与结果分析 1. **添加监听器** - 查看结果树:实时显示请求响应内容 - 聚合报告:统计响应时间、吞吐量、错误率 - 图形结果:可视化 TPS 趋势 2. **命令行执行(推荐批量测试)** ```bash jmeter -n -t test_plan.jmx -l result.jtl -e -o ./report ``` - `-n` 非 GUI 模式,`-t` 指定测试脚本,`-l` 保存结果,`-e -o` 生成 HTML 报告[^1] #### 五、高级技巧 1. **设置全局请求头** - 右键测试计划 -> 添加 -> 配置元件 -> HTTP 信息头管理器 - 添加 `Content-Type: application/json` 或 `Authorization: Bearer ${token}` 2. **接口依赖链** - 使用「事务控制器」组合多个关联接口(如登录->查询->注销) - 通过 `${__setProperty(token,${token})}` 跨线程组传递
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值