掌桥专利:专业的专利平台
掌桥专利
首页

接口测试方法、装置及电子设备

文献发布时间:2023-06-19 10:29:05


接口测试方法、装置及电子设备

技术领域

本公开涉及通信技术领域,尤其涉及一种接口测试方法、装置及电子设备。

背景技术

目前,接口管理平台提供了支持客户端和服务端约定接口协议的能力,用户可以基于此平台进行接口的开发和测试等。在服务端的接口测试过程中,一般是使用postman之类的接口测试工具发送模拟接口请求来进行接口测试,或者是依赖客户端开发完成后访问调用接口来进行接口测试。

发明内容

本公开提供一种接口测试方法、装置及电子设备,本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种接口测试方法,包括:

向服务端发送调用预设接口的调用测试请求;

接收所述服务端响应于所述调用测试请求的响应消息,并获取所述响应消息的格式;

比对所述响应消息的格式与预设响应消息的格式,根据比对结果获得所述预设接口的第一测试结果。

可选地,所述向服务端发送调用预设接口的调用测试请求的步骤包括:

获取预设请求参数格式;

基于所述预设请求参数格式生成调用预设接口的调用测试请求;

向服务端发送所述调用测试请求。

可选地,所述调用测试请求携带有域名信息;所述接收所述服务端响应于所述调用测试请求的响应参数的步骤包括:

接收所述服务端基于所述域名信息反馈的响应消息,所述响应消息用于响应所述调用测试请求。

可选地,在所述向服务端发送调用预设接口的调用测试请求的步骤之前,所述方法还包括:

获取客户端发送的调用所述预设接口的调用请求,并获取所述调用请求的请求参数;

比对所述请求参数的格式是否与预设请求参数格式匹配,以获得所述预设接口的第二测试结果;

向所述客户端发送所述第二测试结果。

可选地,所述向服务端发送调用预设接口的调用测试请求的步骤包括:

确定所述预设接口的统一资源定位符URL;

基于所述URL向服务端发送调用所述预设接口的调用测试请求。

根据本公开实施例的第二方面,提供一种接口测试装置,包括:

第一发送单元,被配置为执行向服务端发送调用预设接口的调用测试请求;

第一获取单元,被配置为执行接收所述服务端响应于所述调用测试请求的响应消息,并获取所述响应消息的格式;

第一测试单元,被配置为执行比对所述响应消息的格式与预设响应消息的格式,根据比对结果获得所述预设接口的第一测试结果。

可选地,所述第一发送单元还被配置为执行:

获取预设请求参数格式;

基于所述预设请求参数格式生成调用预设接口的调用测试请求;

向服务端发送所述调用测试请求。

可选地,所述调用测试请求携带有域名信息;所述第一获取单元还被配置为执行:

接收所述服务端基于所述域名信息反馈的响应消息,所述响应消息用于响应所述调用测试请求。

可选地,所述装置还包括:

第二获取单元,被配置为执行获取客户端发送的调用所述预设接口的调用请求,并获取所述调用请求的请求参数;

第二测试单元,被配置为执行比对所述请求参数的格式是否与预设请求参数的格式匹配,以获得所述预设接口的第二测试结果;

第一发送单元,被配置为执行向所述客户端发送所述第二测试结果。

可选地,所述第一发送单元还被配置为执行:

确定所述预设接口的统一资源定位符URL;

基于所述URL向服务端发送调用所述预设接口的调用测试请求。

根据本公开实施例的第三方面,提供一种电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的接口测试方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的接口测试方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的接口测试方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

通过将服务端反馈的响应消息的格式与存储的预设响应消息的格式进行比对,完成对预设接口的测试,以获得对所述预设接口的第一测试结果,进而也就能够获知服务端在接收到调用预设接口的请求时所反馈的响应消息的格式是否符合要求,利用预先约定的数据协议,以约束服务端能够生成符合格式要求的响应消息,为服务端提供了一个自动化测试的能力。并且在此过程中,服务端并不需要与真实的客户端建立连接或者是进行数据交互,实现了服务端与客户端之间的解耦,提供了一种更便捷的接口测试方式,以保障客户端与服务端之间数据的一致性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种接口测试方法的流程图。

图2是根据一示例性实施例示出的另一种接口测试方法的流程图。

图3是根据一示例性实施例示出的一种接口测试装置的框图。

图4是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

为更好地理解本公开实施例提供的技术方案,在介绍本公开实施例的具体实施方案之前,先对本公开实施例的应用背景进行简单介绍。现有的接口管理平台提供了支持客户端和服务端约定接口协议的能力,用户可以基于此平台进行接口的开发和测试。服务端开发过程中一般是使用postman之类的接口测试工具发送模拟接口请求或者是依赖于客户端开发完成后直接访问调用接口来进行接口测试,但是本公开发明人发现,这样的方式存在服务端返回的接口数据格式和协议约定的格式难以保持一致的问题,导致在接口开发后期发现客户端与服务端数据格式不一致,造成用户需要重新定义接口数据格式设置重新进行接口开发。基于这样的问题,本公开实施例提供了一种接口测试方式,以下将通过具体的实施例对本公开提供的接口测试方法进行示例说明。

图1是根据一示例性实施例示出的一种接口测试方法的流程图,所述接口测试方法可以是应用于mock平台,所述mock平台可以是如笔记本计算机、台式计算机、平板电脑等能够用于实现mock测试的电子设备。如图1所示,所述接口测试方法包括以下步骤。

在步骤S11中,向服务端发送调用预设接口的调用测试请求。

本公开实施例中,所述接口测试方法应用于mock平台。本步骤中,也就是mock平台向服务端发送调用预设接口的调用测试请求。需要说明的是,在此场景下,mock平台相当于模拟的客户端。在本公开实施例中,mock平台模拟客户端向服务端发送调用预设接口的调用测试请求,以模拟执行客户端与服务端之间的数据交互。

可选的,所述步骤S11还可以包括:

确定所述预设接口的统一资源定位符(Uniform Resource Locator,URL);

基于所述URL向服务端发送调用所述预设接口的调用测试请求。

本公开实施例中,可以是预先在mock平台约定预设接口的URL。当mock平台作为模拟的客户端想要向服务端调用预设接口时,可以是先确定所述预设接口的URL,基于所述URL生成调用所述预设接口的调用测试请求,并向服务端发送所述调用测试请求。这样,也就能够使得服务端在接收到所述调用测试请求时,服务端基于所述调用测试请求中的URL确定对应的预设接口,确保服务端能够基于预设接口的调用状态,确定是否响应所述调用测试请求。在步骤S12中,接收所述服务端响应于所述调用测试请求的响应消息,并获取所述响应消息的格式。

可以理解地,服务端在接收到mock平台发送的调用预设接口的调用测试请求后,会生成响应于所述调用测试请求的响应消息,并将所述响应消息反馈给mock平台。而mock平台在接收到服务端发送的响应消息时,获取所述响应消息的格式。其中,所述响应消息的格式可以是包括响应消息的字段名称、字段的类型、字段的长度、数据类型等。

本公开实施例中,所述调用测试请求可以携带域名信息,所述步骤S12可以包括:

接收所述服务端基于所述域名信息反馈的响应消息,所述响应消息用于响应所述调用测试请求。

其中,所述域名信息用于指示mock平台的地址信息,或者可以是mock平台作为模拟的客户端的地址信息。服务端在生成响应于所述调用测试请求的响应消息后,也就能够基于所述域名信息,将所述响应消息返回给对应的mock平台,以确保数据传输的准确性。

可以理解的,所述mock平台作为模拟的客户端向服务端发送调用测试请求,在真实的客户端与服务端的数据交互之间,服务端会接收到多个客户端发送的调用请求;客户端向服务端发送的调用预设接口的调用请求中,也会携带所述客户端的域名信息,进而以确保服务端能够更有针对性、目的性地向与域名信息对应的客户端进行响应,确保服务端与客户端之间数据传输的准确性。

在步骤S13中,比对所述响应消息的格式与预设响应消息的格式,根据比对结果获得所述预设接口的第一测试结果。

本公开的实施例中,mock平台在接收到所述响应消息后,进而也就能够获取所述响应消息的格式,比对所述响应消息的格式与预设响应消息的格式是否匹配,进而完成对所述预设接口的测试,以获得所述预设接口的第一测试结果。

需要说明的是,mock平台可以事先约定服务端和客户端数据协议,例如可以是预先规定服务端发送的响应消息的格式,以及客户端发送的请求参数的格式。可选的,mock平台可以是基于事先约定的数据协议,存储预设响应消息的格式;所述预设响应消息的格式可以是包括预先约定的响应字段名称、字段的类型、字段的长度、数据类型等信息。

可选的,mock平台可以预先定义不同的预设接口对应的响应消息的格式。所述对预设接口进行测试,可以是比对服务器反馈的响应消息的格式与mock平台存储的预设响应消息的格式是否一致,例如比对所述响应消息的字段的长度、类型否与预设响应消息的字段的长度、类型一致。若一致,则可以是获取到测试通过的第一测试结果;若不一致,则获取到测试不通过的第一测试结果。

或者,mock平台还可以是预先定义不同的预设接口的响应消息的消息内容。所述对预设接口进行测试,还可以是比对服务器反馈的响应消息的消息内容与预设响应消息的消息内容是否一致。

本公开的实施例中,mock平台通过将服务端反馈的响应消息的格式与存储的预设响应消息的格式进行比对,完成对预设接口的测试,以获得对所述预设接口的第一测试结果,进而也就能够获知服务端在接收到调用预设接口的请求时所反馈的响应消息的格式是否符合要求,利用mock平台预先约定的数据协议,以约束服务端能够生成符合要求的响应消息,为服务端提供了一个自动化测试的能力。并且在此过程中,服务端并不需要与真实的客户端建立连接或者是进行数据交互,实现了服务端与客户端之间的解耦,提供了一种更便捷的接口测试方式,以保障客户端与服务端之间消息格式的一致性。

可选的,本公开实施例中,所述步骤S11还可以包括:

获取预设请求参数格式;

基于所述预设请求参数格式生成调用预设接口的调用测试请求;

向服务端发送所述调用测试请求。

可以理解地,mock平台可以预先约定服务端和客户端数据协议,例如预先规定客户端发送的请求参数的格式。进而,mock可以获取预先规定的请求参数格式,mock平台在向服务端发送调用预设接口的调用测试请求时,可以基于所述预设的请求参数格式来生成调用测试请求,并将所述调用测试请求发送至服务端。这样,也就使得mock平台生成的调用测试请求是符合约定的数据协议的,避免因调用测试请求的参数格式因不符合约定而不能被服务端所识别或接收或不响应,以保障mock平台与服务端之间数据的正常交互,完成接口测试。

本公开实施例中,mock平台还可以是作为虚拟的服务端,进而能够接收客户端发送的调用预设接口的调用请求,并基于该调用请求对所述预设接口进行测试。可选的,在所述步骤S11之前,还可以包括以下步骤:

获取客户端发送的调用所述预设接口的调用请求,并获取所述调用请求的请求参数;

比对所述请求参数的格式的是否与预设请求参数的格式匹配,以获得所述预设接口的第二测试结果;

向所述客户端发送所述第二测试结果。

可以理解地,mock平台作为虚拟的服务端,能够获取客户端发送的调用预设接口的调用请求,进而获取所述调用请求的请求参数,并比对所述请求参数的格式是否与预设请求参数的格式匹配,从服务端的角度完成对预设接口的测试,并获得所述预设接口的第二测试结果。

本公开实施例中,mock平台可以是基于事先约定的数据协议,存储预设请求参数的格式。所述预设请求参数的格式可以包括预先定义的请求字段名称、字段的类型、字段的长度等信息。可选的,mock平台预先定义不同的预设接口对应的请求参数的格式,进而在获取到客户端发送的调用预设接口的调用请求时,比对所述调用请求的请求参数的格式是否与预设请求参数的格式匹配。例如可以是比对所述请求参数的字段的长度、类型是否与预设请求参数的字段的长度、类型一致;若一致,则可以是获取到测试通过的第二测试结果,若不一致,则获取到测试不通过的第二测试结果,并将所述第二测试结果发送给客户端。

本公开实施例中,mock平台事先约定服务端和客户端数据协议,使得mock平台不仅能够作为虚拟客户端向服务端发送调用预设接口的调用测试请求,从客户端的角度对服务端反馈的响应消息的格式进行比对,以完成对预设接口的测试,还能够作为虚拟服务端来获取客户端发送的调用预设接口的调用请求,从服务端的角度对客户端的请求参数的格式进行比对,来完成对预设接口的测试。这样,也就通过mock平台实现了客户端与服务端之间的解耦,从第三方的角度来完成客户端与服务端之间的接口测试,提供了一种更便捷的测试方式,确保客户端和服务端之间数据的一致性。

请参照图2,图2是本公开实施例提供的另一种接口测试方法的流程图。

如图2所示,客户端针对预设接口的调用向mock平台发送请求mock数据的调用请求。mock平台基于客户端发送的调用请求,校验请求参数,例如是校验请求参数的格式是否与约定的请求参数的格式匹配,并基于校验结果向客户端发送mock数据,使得客户端能够获取到mock平台发送的mock数据。这种情况下,mock平台能够向客户端提供mock服务,以及提供校验请求参数的能力。

另外,mock平台能够模拟客户端向服务端发送调用测试请求。服务端基于所述调用测试请求生成响应数据并以响应消息的形式发送给mock平台,所述响应消息中就包括响应数据,以使得mock平台能够获取到所述响应数据,并对所述响应数据进行校验,对比所述响应数据的格式是否与约定的响应数据格式匹配,以完成接口测试,并给出测试结论。这种情况下,mock平台能够提供测试接口以及校验响应数据的能力。

可以理解地,客户端也能够直接向服务端发送调用请求,以请求数据;服务端能够基于所述调用请求,向客户端发送响应消息,以反馈响应数据。本实施例中,mock平台同样也实现了客户端与服务端之间的解耦,提供了一种更便捷的接口测试方式,确保客户端和服务端之间数据的一致性。

请参照图3,图3是本公开实施例提供的一种接口测试装置的框图。如图3所示,该装置包括第一发送单元301、第一获取单元302和第一测试单元303。

第一发送单元301,被配置为执行向服务端发送调用预设接口的调用测试请求;

第一获取单元302,被配置为执行接收所述服务端响应于所述调用测试请求的响应消息,并获取所述响应消息的格式;

第一测试单元303,被配置为执行比对所述响应消息的格式与预设响应消息的格式,根据比对结果获得所述预设接口的第一测试结果。

可选的,所述第一发送单元301还被配置为执行:

获取预设请求参数格式;

基于所述预设请求参数格式生成调用预设接口的调用测试请求;

向服务端发送所述调用测试请求。

可选的,所述调用测试请求携带有域名信息;所述第一获取单元302还被配置为执行:

接收所述服务端基于所述域名信息反馈的响应消息,所述响应消息用于响应所述调用测试请求。。

可选的,所述装置还包括:

第二获取单元,被配置为执行获取客户端发送的调用所述预设接口的调用请求,并获取所述调用请求的请求参数;

第二测试单元,被配置为执行比对所述请求参数的格式是否与预设请求参数的格式匹配,以获得所述预设接口的第二测试结果;

第一发送单元,被配置为执行向所述客户端发送所述第二测试结果。

可选的,所述第一发送单元301还被配置为执行:

确定所述预设接口的统一资源定位符URL;

基于所述URL向服务端发送调用所述预设接口的调用测试请求。

关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在上述图1所述的接口测试方法实施例中进行了详细描述,此处将不做详细阐述说明。

本公开提供的接口测试装置,通过将服务端反馈的响应消息的格式与存储的预设响应消息的格式进行比对,完成对预设接口的测试,以获得对所述预设接口的第一测试结果,进而也就能够获知服务端在接收到调用预设接口的请求时所反馈的响应消息的格式是否符合要求,利用预先约定的数据协议,以约束服务端能够生成符合格式要求的响应消息,为服务端提供了一个自动化测试的能力。并且在此过程中,服务端并不需要与真实的客户端建立连接或者是进行数据交互,实现了服务端与客户端之间的解耦,提供了一种更便捷的接口测试方式,以保障客户端与服务端之间数据的一致性。

图4是根据一示例性实施例示出的一种电子设备400的框图。如图4所示,所述电子设备400包括处理器401和用于存储所述处理器401可执行指令的存储器402。其中,所述处理器401被配置为执行所述指令,以实现上述图1所述的接口测试方法的步骤,并能达到相同的技术效果,为避免重复,此处不再赘述。

本公开实施例还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器402,上述指令可由电子设备400的处理器401执行完成上述图1所述的接口测试方法,并能达到相同的技术效果,为避免重复,此处不再赘述。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本公开实施例还提供了提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行能够实现上述图1所述的接口测试方法的步骤,并能达到相同的技术效果,为避免重复,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 接口测试方法、接口测试装置和电子设备
  • 接口测试方法、接口测试装置和电子设备
技术分类

06120112568605