使用JMeter模拟设备通过MQTT发送数据

ops/2024/12/22 20:46:14/

需求: 需要一个工具能够支持MQTT协议发送各种不同的数据。

目的: 模拟小型温室设备反馈,搭建一个测试环境,根据测试的数据显示硬件的状态和数值。

工具:JMeter

环境:需要配置Java运行环境。

操作步骤:

1. 下载JMeter运行包

下载地址:jmeter.apache.org/download_jm…,下载后可以解压到任意目录

2. 安装JDK,配置Java的运行环境(请自行用谷歌或必应搜索)
3. 启动jmeter的执行程序

打开解压文件的bin目录,执行命令:sh jmeter

打开后如下图,在新增测试计划的具体事例时,我们是找不到MQTT协议的。所以我们还需要安装MQTT的插件包

4. 安装MQTT插件
  1. 从 GitHub 上下载最新版本插件 mqtt-xmeter-2.0.2-jar-with-dependencies.jar,该插件支持 JMeter 3.2 及以上版本。
  2. 将插件 jar 包拷贝到 JMeter 的插件目录:$JMETER_HOME/lib/ext
  3. 重新启动 JMeter。

这时候在去创建测试事例,就能看到支持MQTT协议的测试入口了

5. 切换到中文

默认是英文,可以手动切换成中文。

如果想修改默认的语言配置,打开bin目录下的jmeter.properties文件,搜索language,把#language=en 改成language=zh_CH

重启后,默认打开就是中文了。接下来我们开始创建一个MQTT的测试。

6. 创建测试用例

a. 创建线程组

主要设置线程数、Ramp-Up时间和循环次数。下面表示的1秒钟内启动2个线程,发送1次请求数据。如果循环次数勾选永远,就会一直发送。

b. 创建MQTT连接

  1. 先创建一个Connect连接MQTT

注意超时时间,这里默认的是10毫秒,如果MQTT服务不稳定,可能会出现偶尔连不上的问题,建议1000毫秒

  1. 创建MQTT pub Sampler录入要发送MQTT的topic,如果需要发送不同数据,可以创建一个CVS,从表里获取数据。这时候在Pub sampler 里就需要使用${}来获取数据,字符串要加“”。

如果想要重复获取数据,在遇到文件结束符再次循环要选true,停止线程那里要选false。

  • 最好设置一个定时器,控制发送的频率。比如设置10毫秒一次,相当于1个线程1秒发送100次数据

最后,创建一个查看结果数,可以查看发送的明细。看汇总就创建一个汇总报告。

如果要模拟多个设备,那就创建多个线程组即可。如果想要测试MQTT服务能承受多大的并发, 可以根据需要设置线程数和间隔时间,不过这个数量如果特别大的话,并发量会不精准,但总体上还是可以达到我们的测试目的。

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!


http://www.ppmy.cn/ops/27803.html

相关文章

设计模式-02 设计模式-接口隔离原则案例分析

1.定义 接口隔离原则(Interface Segregation Principle,简称 ISP)是设计模式中的一个原则,它规定客户端不应该依赖它不使用的方法。 换句话说,接口应该被细分为更小的、更具体的接口,以便客户端只依赖于它…

React学习笔记

React全家桶:React基础、React-Router路由、PubSub消息管理、Redux集中式状态管理、Ant-Design一个UI组件库。 一、React入门 1、React是什么? React是用于构建用户界面的JavaScript库。操作DOM呈现页面。是一个将数据渲染成HTML视图的开源JavaScript…

字节跳动(社招)三面算法原题

TikTok 喘息 继上月通过强制剥离 TikTok 法案后,美国众议院在当地时间 20 日下午以 360 票赞成 58 票反对通过了新的法案:剥离 TikTok 的期限由生效后 165 天调整至 270 天之内,即今年 11 月的美国总统大选后。 之前我们讲过,TikT…

<一起学管理>《微课堂2:什么是MSA? 》

1 MSA是什么 测量系统分析(Measurement Systems Analysis,MSA) 的定义:通过统计分析的手段,对构成测量系统的各个影响因子进行统计变差分析和研究以得到测量系统是否准确可靠的结论。 MSA是一种质量管理的工具。 测量系统可分为“计数型”…

MATLAB初学者入门(29)—— 傅里叶分析

傅里叶分析是一种强大的数学工具,用于分解信号为正弦和余弦组成部分。在MATLAB中,可以使用多种方法进行傅里叶分析,包括快速傅里叶变换(FFT)和功率谱密度估计等。这些方法非常适用于信号处理、振动分析、音频处理等领域…

图像处理的一些操作(2)

图像处理 9. 转换类型9.1转换成浮点数类型9.2转换成无符号字节类型 10.颜色空间转换10.1RGB转GRAY10.2RGB转HSV10.3RGB转LAB10.4HSV转RGB10.5LAB转RGB10.6 convert_colorspace函数进行颜色转换 11.标签化处理图像11.1导入模块11.2加载图片11.3RGB图像转灰度图像11.4遍历图像11.…

自动化测试web库(元素定位、元素操作、浏览器操作)

按照谷歌浏览器 Chrome :https://googlechromelabs.github.io/chrome-for-testing/ Chrome使用技巧: 1、找到自己想要的标签 打开检查,点击箭头,再点击你想要点击的地方 2、直接在浏览器上查询,看看是否查询成功 可…

企业网站必看——企业级OV SSL证书详细介绍

组织验证(Organization Validation,简称OV)SSL证书作为网络安全解决方案的重要组成部分,通过提供中级的安全保障和增强的网站身份验证,有效提升了网站的安全级别与用户信赖度。本文将深入探讨OV SSL证书的工作原理、申…