一种MQTT服务器接口测试方法及系统技术方案

技术编号:19646940 阅读:34 留言:0更新日期:2018-12-05 20:29
本发明专利技术公开一种MQTT服务器接口测试方法及系统,涉及网络通信技术领域,所述MQTT服务器接口测试方法包括:获取MQTT服务器的接口测试用例;根据所述接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验;根据校验结果,生成测试结果。在本申请中,通过接口测试用例规范MQTT服务器接口的测试;根据接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验;并根据校验结果生成测试结果。本申请提供的技术方案在编写特定格式的接口测试用例后,即可自动对MQTT服务器接口进行测试,并输出测试结果。

A Test Method and System for MQTT Server Interface

The invention discloses an MQTT server interface test method and system, which relates to the technical field of network communication. The MQTT server interface test method includes: acquiring the MQTT server interface test case; publishing and subscribing preset messages to the MQTT server to be tested according to the interface test case, and subscribing to the subscribed messages. The content is checked and the test results are generated according to the checking results. In this application, the test of MQTT server interface is standardized through interface test cases; according to interface test cases, preset messages are published and subscribed to the MQTT server to be tested, and the subscribed messages are verified; and test results are generated according to the verification results. The technical solution provided in this application can automatically test the MQTT server interface and output the test results after compiling the interface test cases in a specific format.

【技术实现步骤摘要】
一种MQTT服务器接口测试方法及系统
本专利技术涉及网络通信
,尤其涉及一种MQTT服务器接口测试方法及系统。
技术介绍
MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是IBM开发的一个即时通讯协议,在物联网中应用较多。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。现阶段的一些接口自动化测试方案一般都只支持HTTP协议,由于MQTT采用的是发布和订阅的模式,所以现阶段的接口自动化测试方案也无法兼容MQTT服务器接口的测试。对于HTTP接口的测试,一般是对特定的请求验证其响应是否符合预期。例如公开号为CN107797911A的专利文献公开了用于测试HTTP接口的方法和装置,其中,该方法包括:获取用户输入的针对待测试超文本传输协议HTTP接口的测试用例;将所述测试用例中的第一个测试步骤作为当前测试步骤,并执行以下HTTP接口测试步骤:将所述当前测试步骤的测试操作和测试数据封装成HTTP测试请求包并发送到所述待测试HTTP接口;判断所述待测试HTTP接口返回的响应数据是否与所述当前测试步骤的期望结果数据相同,如果不同,则生成测试失败的结果;如果相同,则进一步判断所述当前测试步骤是否是所述测试用例的最后一个步骤,如果是,则生成测试成功的结果;如果不是,则将下一测试步骤作为当前测试步骤,继续执行所述HTTP接口测试步骤。该专利文献提供的HTTP接口测试方法是通过验证待测试HTTP接口返回的响应数据是否为预设值,生成测试成功或失败的结果。现有的MQTT接口测试一般是通过MQTT的客户端软件去进行测试,不利于自动化实现,也不利于进行规范化测试。
技术实现思路
本专利技术所要解决的技术问题在于,现有的MQTT接口测试一般是通过MQTT的客户端软件去进行测试,不利于自动化实现,也不利于进行规范化测试。本专利技术解决其技术问题,提出一种MQTT服务器接口测试方法及系统,所述MQTT服务器接口测试方法包括:获取MQTT服务器的接口测试用例;根据所述接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验;根据校验结果,生成测试结果。可选地,所述获取MQTT服务器的接口测试用例包括:读取MQTT服务器的接口测试用例文件;其中,所述接口测试用例文件为YAML不是一种标记语言(YMAL)格式文件或JS对象简谱(JSON)格式文件;确定所述接口测试用例文件中包含的至少一条接口测试用例。可选地,所述根据所述接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验,具体包括:根据所述接口测试用例生成测试会话对象;调用所述测试会话对象,以向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验。可选地,还包括:发送包含所述测试结果的邮件至预设邮箱。可选地,所述接口测试用例至少包括:发布的主题和消息内容、订阅的主题、需要校验的内容和预期值。另一方面,本申请还提供一种MQTT服务器接口测试系统,该MQTT服务器接口测试系统包括:获取模块,用于获取MQTT服务器的接口测试用例;校验模块,用于根据所述接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验;结果生成模块,用于根据校验结果,生成测试结果。可选地,所述获取模块包括:读取子模块,用于读取MQTT服务器的接口测试用例文件;其中,所述接口测试用例文件为YAML不是一种标记语言(YMAL)格式文件或JS对象简谱(JSON)格式文件;确定子模块,用于确定所述接口测试用例文件中包含的至少一条接口测试用例。可选地,所述校验模块包括:对象生成子模块,用于根据所述接口测试用例生成测试会话对象;校验子模块,用于调用所述测试会话对象,以向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验。可选地,还包括:发送模块,用于发送包含所述测试结果的邮件至预设邮箱。可选地,所述接口测试用例至少包括:发布的主题和消息内容、订阅的主题、需要校验的内容和预期值。在本申请中,通过接口测试用例规范MQTT服务器接口的测试;根据接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验;并根据校验结果生成测试结果。本申请提供的技术方案在编写特定格式的接口测试用例后,即可自动对MQTT服务器接口进行测试,并输出测试结果。本申请提供的测试可对MQTT服务器接口进行自动化测试,弥补当前接口测试方案只能测试HTTP接口的不足。方案简单易懂,对测试人员的要求较低。在实际应用中,本申请提供的技术方案能及时检测出MQTT服务器接口的异常情况,在研发阶段对产品进行修改,提升产品的使用体验。附图说明图1是根据一示例性实施例示出的MQTT服务器接口测试方法的流程图。图2是根据一示例性实施例示出的MQTT服务器接口测试方法的流程图。图3是根据一示例性实施例示出的MQTT服务器接口测试方法的流程图。图4是根据一示例性实施例示出的MQTT服务器接口测试系统的结构框图。具体实施方式以下是本专利技术的具体实施例并结合附图,对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。还应当理解,此处所描述的具体实施例仅仅用于理解本专利技术,并不用于限定本专利技术。在本申请实施例中,MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。在物联网、小型设备、移动应用等方面有较广泛的应用。实现MQTT协议需要客户端和服务器端。本申请涉及MQTT客户端和MQTT服务器,他们使用MQTT协议进行通信。MQTT服务器为支持MQTT传输协议的消息传递服务器。MQTT客户端为使用MQTT传输协议的客户端设备。本申请的技术方案应用于MQTT客户端,该MQTT客户端可用于发布其他客户端可能会订阅的信息至MQTT服务器、从MQTT服务器订阅其它客户端发布的消息。在本申请实施例中,JS对象简谱(JSON)格式文件指使用JavaScript对象表示法(JavaScriptObjectNotation)的文件;YAML不是一种标记语言(YMAL)格式文件指使用YAML(YAML不是一种标记语言,YAMLAin’tMarkupLanguage)语言规范的文件。在本申请实施例中,测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。本申请涉及的接口测试用例可包括:发布的主题和消息内容、订阅的主题、需要校验的内容和预期值。图1是根据一示例性实施例示出的MQTT服务器接口测试方法的流程图。如图1所示,该MQTT服务器接口测试方法包括步骤S101至步骤S103。本实施例示出的MQTT服务器接口测试方法应用于MQTT客户端。步骤S101,获取MQTT服务器的接口测试用例。在本实施例中,所述接口测试用例可包括:发布本文档来自技高网
...

【技术保护点】
1.一种MQTT服务器接口测试方法,其特征在于,包括:获取MQTT服务器的接口测试用例;根据所述接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验;根据校验结果,生成测试结果。

【技术特征摘要】
1.一种MQTT服务器接口测试方法,其特征在于,包括:获取MQTT服务器的接口测试用例;根据所述接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验;根据校验结果,生成测试结果。2.根据权利要求1所述的MQTT服务器接口测试方法,其特征在于,所述获取MQTT服务器的接口测试用例包括:读取MQTT服务器的接口测试用例文件;其中,所述接口测试用例文件为YAML不是一种标记语言(YMAL)格式文件或JS对象简谱(JSON)格式文件;确定所述接口测试用例文件中包含的至少一条接口测试用例。3.根据权利要求1所述的MQTT服务器接口测试方法,其特征在于,所述根据所述接口测试用例,向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验,具体包括:根据所述接口测试用例生成测试会话对象;调用所述测试会话对象,以向待测试的MQTT服务器发布和订阅预设消息,并对订阅的消息内容进行校验。4.根据权利要求1所述的MQTT服务器接口测试方法,其特征在于,还包括:发送包含所述测试结果的邮件至预设邮箱。5.根据权利要求1所述的MQTT服务器接口测试方法,其特征在于,所述接口测试用例至少包括:发布的主题和消息内容、订阅的主题、需要校验的内容和预期值。6.一种...

【专利技术属性】
技术研发人员:陈超
申请(专利权)人:四川斐讯全智信息技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1