【使用场景】MeterSphere MQTT 协议接口自动化测试


Administrator
飞致云 发布于 2022-03-04 / 737 阅读 / 0 评论 /

MQTT,即Message Queuing Telemetry Transport(消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。本文通过使用EMQ X(MQTT服务器)、以及MQTTX(MQTT 客户端,发布消息),详细说明MeterSphere MQTT协议接口自动化测试完整过程。

  • MQTT客户端(Client):使用MQTT协议的应用程序或者设备,它总是建立到服务器的网络连接,publisher 和 subscriber 都属 client,客户端既可以publish,也可以subscribe。

  • MQTT服务器(Broker):一个应用程序或一台设备。它是位于消息发布者和订阅者之间。

一、MQTT 服务器安装

EMQ X 是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器,适用于 IoT、M2M 和移动应用程序,可处理千万级别的并发客户端。EMQ X安装方式有很多种,官网docs文档有介绍,这里使用docker方式安装。

docker pull emqx/emqx:v3.1.0
docker run -d --name emqx31 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v3.1.0

启动成功后可以通过浏览器访问 http://IP:18083,看到一个 EMQ X 登录界面(默认的用户名/密码为admin/public)

二、MQTT客户端

MQTT XEMQ 开源的一款跨平台 MQTT 5.0 客户端工具,它支持 macOS, Linux, Windows,,可直接在官网下载安装包进行安装,运行后界面显示如下:

三、MeterSphere MQTT 插件安装

1、插件下载

从 Support 门户上下载插件 Jar 包

2、插件上传

在 MeterSphere 系统设置里上传 Jar 包

四、MQTT 协议接口自动化测试

1、创建接口连接

该请求的作用是建立连接,本次使用 MQTT 服务端进行测试,IP 为 EMQ X 服务器地址。

端口和协议对应关系如下:

  • 1883 MQTT TCP 协议端口

  • 8883 MQTT/TCP SSL 端口

  • 8083 MQTT/WebSocket 端口

  • 8084 MQTT/WebSocket with SSL 端口

调试接口,可以看到EMQ X后台已经收到连接会话。

2、发布Topic

该请求作用是发布消息到服务器,只需要输入主题、发送消息内容即可。

3、订阅消息

调试接口,可以看到客户端同步收到在 MeterSphere 上发布的消息。

4、断开连接



是否对你有帮助?