📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
我的目前所在公司所涉及到的行业属于物联网行业,因此在测试过程中需要了解到物联网行业的一些概念和辅助测试的工具等等。
最近在测试物联网平台时接触到了一款MQTTX的客户端软件。网上也是可以很方便找到该软件的简介的,简单来说就是一个基于MQTT协议的客户端工具,它允许用户方便地发布和订阅MQTT消息。
而MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,专为在计算能力有限、低带宽或不可靠的网络中工作的远程设备而设计。它基于发布/订阅模型,适用于物联网(IoT)通信,可以广泛用于各种需要设备间通信的场景。

图1、MQTT设备通信示意图
我之所以用到这款工具,其实是为了模拟设备通信并且构造测试数据,包括设备上报数据到物联网平台和通过物联网平台下发指令到设备实现远程控制。
我们的物联网平台是基于Jetlinks平台搭建的,因此在使用MQTT发送消息时需要结合jetlinks IOT平台使用,下面介绍一下MQTTX软件的基础功能使用。
客户端工具下载地址:https://mqttx.app/downloads
可以选择适合自己的版本进行下载。

图2、下载界面
在下载界面底部导航栏可以找到MQTT工具的入门教程,教程内容很丰富,会介绍到MQTT的工作原理和工作流程,以及工具具体的配置使用等知识,适合新手学习。
教程链接:
https://www.emqx.com/zh/blog/the-easiest-guide-to-getting-started-with-mqtt
下面讲一下如何创建连接。进入到MQTT工具默认页面,点击左上角 + 按钮,打开新建连接编辑窗口,输入一些连接信息,最后点击右上角Connect按钮进行连接。

图3、客户端工具默认界面

图4、连接编辑界面

图5、密码生成工具
连接成功后,会自动给物联网平台发送一条上报消息

图6、客户端连接成功界面
此时在物联网平台,也可以查看到设备处于在线状态

图7、物联网平台设备详情界面
下面是我在测试过程中主要用到的消息指令,消息指令采用的是JSON格式,指令中的productId和deviceId根据实际情况填写即可。还有一些其他的指令,大家可以在MQTT使用教程中查找。
使用MQTT X模拟设备上报属性
Topic:/{productId}/{deviceId}/properties/report
{
"deviceId": "1642736581599657984",
"properties": {
"temperature": 38.5
}
}
平台调用设备指令
Topic: /{productId}/{deviceId}/function/invoke
消息正文:
{
"messageId": "1791305771732049921",
"deviceId": "1791281558811975681",
"timestamp": 1715915551489,
"functionId": "cycleSample",
"inputs": [{
"name": "totalSampleTime",
"value": 1
}, {
"name": "singleSample",
"value": 23
}, {
"name": "cycleTime",
"value": 2
}, {
"name": "delayTime",
"value": 0
}],
"messageType": "INVOKE_FUNCTION"
设备上行回复平台
Topic: /{productId}/{deviceId}/function/invoke/reply
消息格式:
{
"timestamp": 1715915525652,
"messageId": "1791305771732049921",
"output": {
"success": "ok"
},
"success": true
}
客户端接收到的消息和发送出去的消息,我们都可以在消息记录中查看到。在进行消息发送时,可能会遇到连接超时的情况,显示超时通常是以下几种情况引起的:
1、设备回复时未携带messageId
2、设备回复时messageId和指令报文内messageId不一致
3、设备10s未回复消息或超过10s回复消息
4、回复报文超长,超过网络组件接收报文数据大小
我自己在最开始使用该工具的时候,就频繁遇到超时的情况,后来才知道原因是上面列出的第3点。
我们构造数据的过程其实就是模拟设备和物联网进行通信的过程,指令发出后的执行结果我们可以在物联网平台和MQTTX客户端工具中查看到。

图8、设备上报给平台的属性
图8里面我们看到有八种指标数据,对应设备的八种指标参数,都是设备上报给物联网平台的,以上只是我举例说明,实际业务场景下的指标可能多达几十上百个。

图6、平台远程调控设备后的响应结果
图6是平台远程调用设备发出的消息指令,我们在MQTTX客户端工具中可以查看到。
以上就是我在测试物联网平台过程中使用MQTTX客户端工具的实际使用经验,目前也在逐步熟悉过程中,还有一些其他丰富的功能待学习,欢迎大家指正。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】



1万+

被折叠的 条评论
为什么被折叠?



