
# 在CodeArts TestPlan接口脚本中调用MQTTPublish关键字
#### MQTTPublish简介
该系统关键字支持对MQTT协议的全流程测试，用以连接MQTT服务器，如果需要使用该系统关键字，需要用户将MQTT服务器开放公网访问并且将对应端口的安全组策略开启放行。
| 参数               | 是否必选 | 参数类型    | 默认值             | 描述                                                                                               |
|:---|:---|:---|:---|:---|
| MQTT连接标识(userId) | 是    | String  | ${MQTT_USER_ID} | MQTT连接标识,作为用例的局部变量，由MQTTConnect返回并存储。 详见：MQTTConnect章节响应提取。 |
| 发布的主题            | 是    | String  | -               | 需要发布的MQTT服务器的主题。                                                                                 |
| QoS级别            | 是    | String  | 最多发送1次(0)       | MQTT QoS级别。                                                                                      |
| 请求类型             | 是    | Enum    | Text            | 请求类型：枚举值（Text和Binary）。支持文本(Text)或二进制(Binary)，当选择Binary时，用户输入的是十六进制字符串。                           |
| 保留消息             | 是    | Boolean | True            | 是否进行消息保留。                                                                                        |
| 超时时间             | 是    | Long    | -               | 连接MQTT服务器超时时间，单位：MILLISECONDS。                                                                   |
   
#### MQTTPublish响应
| 参数            | 参数类型    | 描述                |
|:---|:---|:---|
| 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。 |
   
#### 默认检查点
| 名称 | 预期值 |
|:---|:---|
| 结果 | 成功  |
   
#### MQTTPublish使用示例
填写参数，断开连接MQTT服务器：
![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964152593.png "点击放大")
#### MQTTPublish响应示例
![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964032793.png "点击放大")
```
{
  "mqtt_response" : {
    "status" : "success",
    "message" : "",
    "data" : {
      "request_begin" : 1657008689964,
      "response_time" : 0,
      "sent_bytes" : 35,
      "recv_bytes" : 0,
      "return_code" : 0
    }
  },
  "user_id" : "1"
}
```
