当前位置: 首页 > article >正文

MQTT自动发送消息工具(自动化测试MQTT)

点击下载《MQTT客户端服务端工具》
点击下载《MQTT自动发送消息软件(自动化测试MQTT)》

1. 前言

在软件开发过程中,MQTT常被用作消息队列来完成特定的业务功能。当我们将相关业务代码编写完成后,通常需要编写额外的消息生产和消费代码来模拟消息高峰时的处理能力以及程序的健壮性。对于不具备编码能力的测试人员来说,如果有一个工具能够通过简单的配置即可实现高频率地生产消息,无疑会解决一大难题。现在,《MQTT自动生产消息》工具来了,下面我将详细介绍一下该软件的使用。

在这里插入图片描述

2. 软件介绍

该软件是一个基于 C# 的自动化 MQTT 消息生产程序。它集成了 MQTT 连接配置、消息自动生成配置以及日志记录功能,能够按照预设的时间间隔和总次数自动发送 MQTT 消息。消息内容支持多种随机生成类型,包括日期、序列号、Mac 地址、整数和浮点数。此外,程序还提供了实时日志查看功能,以便用户能够实时监控消息的生产情况。

2.1 连接配置

在这里插入图片描述

  • Host: 配置MQTT服务端地址。
  • Port: 配置MQTT服务端端口。

注意事项:

  1. Host和Port为必须输入项。
  2. 如果服务端配置了用户名和密码连接访问,则必须输入用户名和密码方可连接成功,否则无需填写用户名和密码。

在这里插入图片描述

所有配置完成后,点击【连接】即可,如输入无误,则可连接成功。

2.2 配置Topic

在主题列表中,点击右键将出现子菜单,子菜单功能包括:新增主题、修改主题、复制主题、删除主题、上移到顶部、上移一位、下移一位、下移到底部。新增主题和修改主题功能在输入完数据后需要点击保存才会将录入数据保存。

在这里插入图片描述

  • Topic:
    • 定义: Topic 是 MQTT 中用于标识消息发布和订阅的渠道或类别。它是一个简单的字符串,可以包含多个层级,用斜杠(/)分隔。例如,sensor/temperaturedevice/12345/status
    • 作用: 客户端(发布者)将消息发布到特定的 Topic 上,而其他客户端(订阅者)可以订阅一个或多个 Topic 来接收消息。Topic 的使用使得消息的发布和订阅变得有序和可管理。
    • 层级结构: Topic 可以包含多个层级,每个层级代表一个特定的分类或属性。例如,home/livingroom/temperature 表示家庭中客厅的温度传感器数据。
    • 通配符: MQTT 支持使用通配符来订阅多个 Topic。+ 通配符用于匹配一个层级,# 通配符用于匹配多个层级。例如,home/+/temperature 可以匹配 home/livingroom/temperaturehome/kitchen/temperature,而 home/# 可以匹配 home 下的所有子主题。
    • 通配符和主题过滤: 通过使用通配符,客户端可以灵活地订阅一组相关的 Topic,而不需要为每个可能的 Topic 都单独订阅。
  • Message: 必填项,它是客户端之间交换数据的基本单位。

2.3 开始执行

配置完成后,点击【启动】按钮即可开始执行Kafka消息生产操作。程序将按照Topic配置列表的顺序依次执行状态为【启用】的Topic记录。

在这里插入图片描述

2.4 查看日志

程序在执行过程中会自动切换至日志查看界面,用户可以实时查看每个Topic消息的生产明细。日志界面提供了【开始】按钮,与生产消息界面的【开始】按钮功能相同。
在这里插入图片描述

当日志内容过多时,用户可以点击【清空日志】来清理当前日志内容。点击【保存为文件】可以将当前日志内容保存为log文件。如果未手动保存日志记录,程序会在可执行目录下的Log/LogInfo文件夹中保留所有执行的日志记录。
在这里插入图片描述

最后,我们分别使用MQTT服务端软件和MQTTX查看一下,可以看到确实是发送成功了。

在这里插入图片描述

在这里插入图片描述

3. 总结

该 C# 开发的自动化 MQTT 消息生成程序为用户提供了一个高效、灵活的消息生成工具。通过集成 MQTT 连接配置、消息自动生成配置和日志记录功能,程序能够满足用户在测试和开发过程中对 MQTT 消息生成的需求。随机生成的消息内容以及实时日志查看功能进一步增强了程序的功能性和用户体验,使得消息生成过程更加便捷和可控。

点击下载《MQTT客户端服务端工具》
点击下载《MQTT自动发送消息软件(自动化测试MQTT)》


http://www.kler.cn/a/379715.html

相关文章:

  • sparkSQL面试题
  • C#属性 Property
  • 【jvm】如何设置新生代和老年代的比例
  • SQL拦截(二)InnerInterceptor
  • jmeter脚本-请求体设置变量and请求体太长的处理
  • 打包IPA包上传,报错“您的可执行文件包含不受支持的体系结构(×86 _64 i386)”
  • R语言贝叶斯:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析
  • 黑马官网最新2024前端就业课V8.5笔记---CSS篇(2)
  • 家常菜点餐|基于java和小程序的家庭大厨家常菜点餐系统设计与实现(源码+数据库+文档)
  • Socket篇(网络通信)
  • SQL与数据库
  • C++设计模式结构型模式———组合模式
  • 【系统架构设计师】2022年真题论文: 论区块链技术及应用(包括解题思路和素材)
  • Vue:模板 MVVM
  • 为什么说高级工程师研究的不仅是器件的稳态,模拟器件的开关过程
  • PostgreSQL 触发器的深入探讨
  • 【高等数学】3-2多元函数积分学
  • flutter 专题七 Flutter面试之渲染流程
  • 硬件在环仿真建模之电路拓扑建模与数学建模
  • java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl
  • oceanbase V4.2.2社区版集群离线部署
  • 图像边缘算法复现研究
  • 详解:枚举类
  • 【力扣专题栏】K个一组对链表进行翻转,如何实现分组翻转链表?
  • 东方通TongWeb替换Tomcat的踩坑记录
  • VLAN间通信以及ospf配置