更新时间:2024-07-18 GMT+08:00
分享

在CodeArts TestPlan接口脚本中调用MQTTConnect关键字

MQTT协议简介

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,MQTT 最大的优点在于以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议, MQTT 在物联网、小型设备、移动应用等方面有广泛的应用。

接口测试对于MQTT协议提供全流程测试,系统关键字包括:MQTTConnect,MQTTDisconnect,MQTTPublish,MQTTSubscribe。

由于MQTT协议测试需要采用双容器方案,安全风险较高,目前只对白名单用户开放,如果需要使用MQTT相关测试请联系客服。

MQTTConnect简介

该系统关键字支持对MQTT协议的全流程测试,用以连接MQTT服务器,如果需要使用该系统关键字,需要用户将MQTT服务器开放公网访问并且将对应端口的安全组策略开启放行。

参数

是否必选

参数类型

默认值

描述

MQTT服务器协议

String

-

枚举值(tcp://和ssl://),缺省为tcp://。当前支持TCP(tcp://)和SSL(ssl://)两种协议,其余协议待扩充。

MQTT服务器IP

String

-

MQTT服务器地址,支持写固定IP或域名。

MQTT服务器端口

Integer

-

MQTT服务器端口,用来访问MQTT服务。

MQTT版本

String

3.1.1

MQTT版本:目前支持3.1.1和3.1。

用户名

String

-

MQTT服务器用户名。

密码

String

-

MQTT服务器密码。

连接保活时长

String

300

MQTT协议组件与服务器在该时间段内会发送心跳。超过该连接保活时长后,客户端不再发送PINGREQ报文,不影响后续发布消息、订阅消息和关闭连接流程。

客户端ID

String

apitest_

MQTT客户端ID,用来区分客户端,一般为UUID。

添加随机后缀

Boolean

true

支持添加随机后缀,当clientID为空时,默认打开,用户指定后缀,请关闭随机后缀。

清空会话

Boolean

false

每次消息接收之后是否清空会话。

MQTTConnect响应

参数

参数类型

描述

mqtt_response

JSON

MQTT服务端返回值。

status

String

MQTT服务端响应状态。

message

String

MQTT服务端返回信息。

data

JSON

APITest定义的接口返回。

request_begin

Long

访问MQTT服务器的开始时间。

response_time

Long

MQTT服务器返回响应耗费时长。

sent_bytes

Long

发送的字节数。

recv_bytes

Long

接收的字节数。

return_code

Integer

MQTT服务器返回码。

user_id

Integer

APITest返回的用户标识ID,详见:详见默认响应提取

MQTT默认检查点

名称

预期值

结果

成功

默认响应提取

提取参数名称

提取属性

参数说明

MQTT_USER_ID

user_id

MQTT服务器连接成功之后,系统标记的服务用户ID,后续MQTT系统关键字需要引用。

MQTTConnect使用示例

填写参数,链接MQTT服务器:

MQTTConnect响应示例

{
  "mqtt_response" : {
    "status" : "success",
    "message" : "",
    "data" : {
      "request_begin" : 1656937043362,
      "response_time" : 73,
      "sent_bytes" : 18,
      "recv_bytes" : 4,
      "return_code" : 0
    }
  },
  "user_id" : "1"
}

相关文档