在本章节中:
MQTT 扩展是 SOAtest 和 Virtualize 的自定义扩展。可以在客户端使用扩展以执行多个任务:
在服务端,可以使用监听器扩展来订阅到主题筛选器,然后根据传入的订阅消息发布到主题。
将为 MQTT 集成提供以下自定义扩展:
可以从 UI 或命令行中安装此工具。在启动安装过程之前,在方便的位置下载并解压压缩文件夹。
将 mqtt.jar 文件添加到本地设置属性文件中的 system.properties.classpath 属性。例如:
system.properties.classpath=<path to jar>/mqtt.jar
可以配置以下设置。
单击连 Connection 选项卡以配置连接设置。
Broker URL | 使用以下格式定义 MQTT 的 URL: protocol://host:port。
此字段必填。 如果定义的协议为 ssl 或 wss,则还必须配置 Transport Layer Security (TLS) 设置。 |
---|---|
Client ID | 定义连接到代理时使用的客户 ID。如果留空,则客户 ID 将由 MQTT 代理生成。 |
Username | 定义连接到代理时使用的用户名。 |
Password | 定义连接到代理时使用的密码。 |
Connection Timeout | 定义建立连接到 MQTT 代理所允许的最大秒数。 默认: |
Keep Alive Interval | 定义断开空闲 MQTT 客户机前最大的间隔时间。 默认: |
Clean Session | 启动/禁用清除会话。
默认: |
Client Persistence Directory | 定义存储客户机持续性文件的目录。如果 Clean Session 设置为 默认: |
单击 Publish 选项卡以配置发布设置。
Topic | 定义将消息发布至哪个主题。 |
---|---|
Quality of Service | 定义与发布消息绑定的服务质量度量。 可能的值有 默认: |
Retain Message on Server | 启用/禁用在服务器上保留消息。设置为 保留的消息在订阅主题时被请求给客户机,而不管它们的 Clean Session 设置。 默认: |
在客户机连接到代理时定义 Last Will 和 Testament (LWT)。如果因为除了清除断开连接之外的任何原因,客户机失去了代理连接,则代理将自动发布客户机 LWT。
Topic | 定义将 LWT 发布至哪个主题。 |
---|---|
Will Payload | 定义 LWT 的有效负载。 默认: |
Quality of Service | 定义与 LWT 绑定的服务质量度量。可能的值有 默认: |
Retain Message on Server | 启用/禁用在服务器上保留 LWT。设置为 true 保留 LWT。 保留的消息在订阅主题时被请求给客户机,而不管它们的 Clean Session 设置。 默认: |
当在 Broker URL 中将协议设置为 ssl or wss 时,必须配置 TLS 设置。
TLS Protocol | 定义在建立安全连接时要使用的传输层协议。 默认: |
---|---|
Key Manager Factory | 定义用于管理 Key Store File中所提供的密匙的密匙管理器工厂。根据加载到 JVM 的不同安全提供程序,可以使用不同的密匙管理器。如果向 JVM 添加了其他安全提供程序,则选中安全提供程序的文档,以收集可用工厂名称。 默认: |
Key Store File Location | 定义资产(.tst、.pva、.pva)密匙库文件的绝对路径或相对路径。 |
Key Store Type | 定义提供的密匙库存储文件类型。根据加载到 JVM 的不同安全提供程序,可以处理不同的密匙类型。如果向 JVM 添加了其他安全提供程序,则选中安全提供程序的文档,以收集可用密匙库类型名称。 |
Key Store Password | 定义用于从密匙库文件中提取密匙/证书的密匙。 如果留空,则将尝试在没有密码的情况下提取密钥。 |
Trust Manager Factory | 定义用于管理 Trust Store File中所提供的密匙的信任管理器工厂。根据加载到 JVM 的不同安全提供程序,可以使用不同的信任理器。如果向 JVM 添加了其他安全提供程序,则选中安全提供程序的文档,以收集可用工厂名称。 默认: |
Trust Store File Location | 定义资产(.tst、.pva、.pva)信任库文件的绝对路径或相对路径。 默认: |
Trust Store Type | 定义提供的信任库存储文件类型。根据加载到 JVM 的不同安全提供程序,可以处理不同的信任库类型。如果向 JVM 添加了其他安全提供程序,则选中安全提供程序的文档,以收集可用信任库类型名称。 |
Trust Store Password | 定义用于从信任库文件中提取密匙/证书的密匙。如果留空,则将尝试在没有密码的情况下提取密钥。 |
单击 Connection Management 选项卡,以配置连接管理设置。
Keep connection alive | 启用此选项,让客户端保持连接并重复,以便后续的发布。 |
---|---|
Close connection after test execution | 启用此选项,在发布后直接关闭客户端连接。 |
MQTT 订阅器监听主题,直到达到指定的持续时间过期、消息最大数或终止连接为止。如果消息最大数为零(未限制),则订阅器将尝试监听所有的定义持续时间。
可以配置以下设置。
查阅 Connection Settings 以获得关于如何配置此页面的更多详情。
单击 Subscribe 选项卡以配置订阅设置。
Topic Filter | 定义建立订阅时要使用的主题筛选器。可以使用特殊通配符
例如: 对于主题 parasoft/example/topic 和 parasoft/example/soavirt/topic Parasoft/+/topic 会筛选第一个主题。 parasoft/#/topic 会筛选这两个主题。 此字段必填。 |
---|---|
Quality of Service | 定义订阅的服务质量(QoS)级别。以较低 QoS 发布的消息将以已发布的 QoS 接收。以较高 QoS 发布的消息将使用此设置中指定的 QoS 接收。 默认: |
Max Messages | 定义结束订阅之前等待消息的最大数。 默认: |
Subscription Duration | 定义当 Max Messages 设置为 默认: |
Timestamp Format | 定义随到达的消息生成的时间戳格式。 默认: 若要定义一个时间戳格式,请查阅 SimpleDateFormat Javadocs: http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html |
查阅 Last Will and Testament (LWT) Settings 以获得关于如何配置这些设置的更多详情。
查阅 Transport Layer Security (TLS) 以获得关于如何配置这些设置的更多详情。
若要使用消息监听器,则将 Parasoft 虚拟资产(PVA)添加到 Virutalize 服务器并在虚拟资产部署设置的自定义选项卡中配置 MQTT 设置。
可以配置以下设置。
查阅 Connection Settings 以获得关于如何配置此页面的更多详情。
Topic Filter | 查阅 Topic Filter ,以获得关于如何配置此字段的说明。 |
---|---|
Quality of Service | 查阅 Quality of Service 以获得关于如何配置此字段的说明。 |
查阅 Publish Settings 以获得关于如何配置此页面的更多详情。
查阅 Last Will and Testament (LWT) Settings 以获得关于如何配置这些设置的更多详情。
查阅 Transport Layer Security (TLS) Settings 以获得关于如何配置这些设置的更多详情。
事件监控器用于订阅主题筛选器和监视测试执行期间的消息到达。这允许对达到的消息执行验证。验证包括消息到达的顺序、消息到达的时间、发布消息的主题和消息有效负载。
可以配置以下设置。
URL | 定义代理 URL。事件监控器中定义的 URL 和其他工具中定义的 URL 是不同的。 使用以下模式配置代理 URL: protocol://client_id@host:port/topic_filter
此字段必填。 如果定义了 SSL 协议,则 MQTT Configure Tool 必须用于为客户端配置 Transport Layer Security (TLS) 设置。 如果未提供 client_id ,则客户 ID 将有服务端生成。 不能在 URL 中使用通配符来定义主题筛选器,否则 URL 将无法正确解析。若要在主题筛选器中使用通配符,则省略 URL 声明中的主题筛选器并使用 MQTT Configure Tool定义主题筛选器。 可以使用 MQTT Configure Tool定义消息到达事件的自定义时间戳格式。 |
---|---|
Username | 定义连接到代理时使用的用户名。 |
Password | 定义连接到代理时使用的密码。 |
配置工具允许配置整个测试的某些 MQTT 属性,以在需要相同属性时,减少单个测试步骤中所需的配置量。配置工具中定义的任何设置都可被单个测试步骤所覆盖。在使用事件监控器接口时,该配置工具非常有用,因为没有办法在事件监控器工具中配置 TLS 属性。作为最佳实践,此工具应只用于 Set-Up 测试。
可以配置以下设置。
Connection Timeout | 查阅 Connection Timeout ,以获得关于如何配置此字段的说明。 |
---|---|
Keep Alive Interval | 查阅 Keep Alive Interval 以获得关于如何配置此字段的说明。 |
Clean Session | 查阅 Clean Session ,以获得关于如何配置此字段的说明。 |
Client Persistence Directory | 查阅 Client Persistence Directory 以获得关于如何配置此字段的说明。 |
此页面应该只在使用事件监控器工具时进行配置。此页面允许在主题筛选器中使用通配符,并允许自定义服务质量级别和消息到达时间戳格式。
Topic Filter | 查阅 Topic Filter ,以获得关于如何配置此字段的说明。 |
---|---|
Quality of Service | 查阅 Quality of Service 以获得关于如何配置此字段的说明。 |
Timestamp Format | 查阅 Timestamp Format ,以获得关于如何配置此字段的说明。 |
查阅 Last Will and Testament (LWT) Settings 以获得关于如何配置这些设置的更多详情。
查阅 Transport Layer Security (TLS) Settings 以获得关于如何配置这些设置的更多详情。
如果希望使用 .tst 运行负载测试,该测试使用 MQTT 配置工具作为 Set-Uo 测试,则必须在虚拟用户上下文中运行这些工具。
此扩展包括来自第三方的资源项,如下:
更多的许可详情可在该插件的 licenses 文件夹中获得。