接口的自动测试方法及系统、服务终端、存储器与流程

文档序号:13476093阅读:134来源:国知局
接口的自动测试方法及系统、服务终端、存储器与流程

本发明属于计算机测试测试技术领域,尤其涉及一种接口的自动测试方法及系统、服务终端、存储器。



背景技术:

传统的接口测试是指测试系统组件间的接口。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。目前的实现主要是由开发人员或白盒测试工程师,自己编写程序去调用或者利用一些工具去执行接口测试。常规的接口测试包括http接口测试、dubbo接口测试、restful接口及其他类型接口测试。

现有技术中,需要为每一种接口测试需要配备对应的测试平台,测试场景及测试结果单独管理,因此需要较高的成本来实现每一接口测试,测试结果无法统一管理,测试效率较低,给用户带来极大不便。



技术实现要素:

本发明实施例提供了一种接口的自动测试方法及系统、服务终端、存储器,旨在解决现有技术中由于无法使用同一测试平台测试不同接口导致测试效率较低的问题。

本发明实施例是这样实现的,一种接口的自动测试方法,包括:

接收接口测试指令,所述测试指令包括两个以上需要测试的接口;

基于所述测试指令获取对应的测试用例,每一所述测试用例对应一个所述需要测试的接口;

将所获取的测试用例转换成统一格式的请求报文;

基于所述请求报文自动进行接口测试,获得对应的测试结果。

优选地,所述基于所述测试指令获取对应的测试用例具体包括:

基于所述测试指令添加对应的报文模板,每一所述报文模板对应一个所述需要测试的接口;

基于每一所述报文模板组装对应的测试用例。

优选地,所述基于每一所述报文模板组装对应的测试用例具体包括:

基于每一所述报文模板获取对应的测试场景;

获取每一所述测试场景的测试数据;

基于所述测试场景、所述报文模板及所述测试数据组装对应的测试用例。

优选地,所述将所述一个以上测试用例转换成统一格式的请求报文具体为:

将每一所述测试用例组装成一测试用例报文;

将每一所述测试用例报文进行格式转换,获得对应的请求报文,所述请求报文的格式相同。

优选地,所述基于所述请求报文自动进行接口测试之后还包括:缓存所述测试结果。

优选地,所述基于所述请求报文自动进行接口测试之后还包括:

展示所述测试结果。

本发明还提供一种接口的自动测试系统,包括:

接收模块,用于接收接口测试指令,所述测试指令包括两个以上需要测试的接口;

获取模块,用于基于所述测试指令获取对应的测试用例,每一所述测试用例对应一个所述需要测试的接口;

转换模块,用于将所述测试用例转换成统一格式的请求报文;

测试模块,用于基于所述请求报文自动进行接口测试,获得对应的测试结果。

本发明还提供一种存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行如下步骤:

接收接口测试指令,所述测试指令包括两个以上需要测试的接口;

基于所述测试指令获取对应的测试用例,每一所述测试用例对应一个所述需要测试的接口;

将所获取的测试用例转换成统一格式的请求报文;

基于所述请求报文自动进行接口测试,获得对应的测试结果。本发明还提供一种服务终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

接收接口测试指令,所述测试指令包括两个以上需要测试的接口;

基于所述测试指令获取对应的测试用例,每一所述测试用例对应一个所述需要测试的接口;

将所获取的测试用例转换成统一格式的请求报文;

基于所述请求报文自动进行接口测试,获得对应的测试结果。在本发明实施例中,需要进行不同接口测试时,将对应的测试用例转换成统一格式的请求报文,可在同一测试平台进行测试,无需为每一接口测试配置一测试平台,可提高测试效率。

附图说明

图1是本发明第一实施例提供的一种接口的自动测试方法的流程图;

图2是本发明第一实施例提供的一种接口的自动测试方法的步骤2的具体流程图;

图3是本发明第一实施例提供的一种接口的自动测试方法的步骤s3的具体流程图;

图4是本发明第二实施例提供的一种接口的自动测试系统的结构图;

图5是本发明第三实施例提供的一种服务终端的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,一种接口的自动测试方法,包括:接收接口测试指令,所述测试指令包括一个以上需要测试的接口;基于所述测试指令获取一个以上测试用例,每一所述测试用例对应一个所述需要测试的接口;将所述一个以上测试用例转换成统一格式的请求报文;基于所述请求报文自动进行接口测试,获得对应的测试结果。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种接口的自动测试方法的流程图,包括:

步骤s1、接收接口测试指令;

具体地,需要进行接口测试时,用户通过用户界面登录测试系统(测试平台),输入对应的接口测试指令,其中,可通过用户界面的选择按键及确认按键来输入测试指令,或者通过用户界面输入文本指令,此处对此不作限制。其中,所述测试指令包括两个以上需要测试的接口,包括该接口的型号或者识别码等信息,此处对此不作限制。

步骤s2,基于测试指令获取对应的测试用例;

具体地,接收到接口测试指令后,根据该测试指令获取对应的测试用例,每一测试用例对应一个需要测试的接口,例如,该接口指令包括http接口、dubbo接口的测试指令,根据该接口指令获取对应的测试用例,如http测试用例、dubbo测试用例等。

步骤s3,将所获取的测试用例转换成统一格式的请求报文;

具体地,对所获取的测试用例进行格式转换,使得每一测试用例转换成具有统一格式的请求报文,例如,将dubbo测试用例、restful测试用例转换为测试用例报文,该测试用例报文支持多种协议(例如http、dubbo协议),然后将该测试用例报文转换为统一格式的请求报文(json文本格式的报文)。

步骤s4,基于请求报文自动进行接口测试,获得对应的测试结果;

具体地,根据该请求报文自动进行测试任务调度,执行相应的测试,并获得对应的测试结果。

在本实施例的一个优选方案中,该步骤s4之后还可包括:

缓存该测试结果;

具体地,自动执行测试任务后,将获取的测试结果缓存下来(具体可存储在内存中),以供后续进行测试结果分析。

在本实施例的一个优选方案中,该步骤s4之后还可包括:

展示该测试结果。

具体地,获取测试结果后,可在前端的页面展示测试结果,用户可直观地看到测试结果。

在本实施例的另一优选方案中,该步骤s4之后还可包括:

展示并缓存测试结果。

本实施例中,进行不同接口测试时,将对应的测试用例转换成统一格式的请求报文,可在同一测试平台进行测试,无需为每一接口测试配置一测试平台,可提高测试效率。

在本实施例的一个优选方案中,如图2所示,为本发明第一实施例提供的一种接口的自动测试方法的步骤2的具体流程图,该步骤s2具体包括:

步骤s21,基于测试指令添加一个以上报文模板;

具体地,根据所需要测试的接口添加对应的报文模板,每一报文模板对应一个需要测试的接口;

步骤s22,基于每一报文模板组装对应的测试用例;

具体地,根据每一报文模板组装对应的测试用例。

在本实施例的一个优选方案中,该步骤s22具体包括:

基于每一报文模板获取对应的测试场景;

具体地,根据实际用例添加对应的测试场景,优选地,通过修改报文模板的参数字段来实现,最终实现参数化模板报文。

获取每一测试场景的测试数据;

具体地,修改报文模板的参数字段后,获取对应的测试场景的测试数据,优选地,基于测试数据是场景中参数化后的字段来获取测试数据;

基于测试场景、报文模板及测试数据组装对应的测试用例;

具体地,基于测试场景、报文模板及测试数据组装对应的测试用例。

在本实施例的一个优选方案中,如图3所示,为本发明第一实施例提供的一种接口的自动测试方法的步骤s3的具体流程图,该步骤s3具体包括:

步骤s31,将每一测试用例组装成一测试用例报文;

具体地,将具体的脚本按测试用例组装成多个测试用例报文,该测试用例报文支持多种协议类型格式,例如:http、dubbo、restful协议等。

步骤s32,将每一测试用例报文进行格式转换,获得对应的请求报文;

具体地,将每一测试用例报文进行格式转换,获得对应的请求报文,其中请求报文的格式均相同,例如将每一测试用例报文转换成统一格式的json文本格式报文。

本实施例中,需要进行不同接口测试时,将对应的测试用例转换成统一格式的请求报文,可在同一测试平台进行测试,无需为每一接口测试配置一测试平台,可提高测试效率。

其次,分别基于场景、报文及数据进行测试用例组装,使得测试更加灵活;再者,场景与报文模板、测试数据分开管理,便于后期维护。

再者,不同类型的接口可在一个测试平台进行测试,可降低测试成本,给用户带来便利。

实施例二:

图4示出了本发明第二实施例提供的一种接口的自动测试系统的结构图,该系统包括:接收模块1、与接收模块1连接的获取模块2,与获取模块2连接的转换模块3,、与转换模块3连接的测试模块4,其中:

接收模块1,用于接收接口测试指令;

具体地,需要进行接口测试时,用户通过用户界面登录测试系统(测试平台),输入对应的接口测试指令,其中,可通过用户界面的选择按键及确认按键来输入测试指令,或者通过用户界面输入文本指令,此处对此不作限制。其中,所述测试指令包括两个以上需要测试的接口,包括该接口的型号或者识别码等信息,此处对此不作限制。

获取模块2,用于基于测试指令获取对应的测试用例;

具体地,接收到接口测试指令后,根据该测试指令获取对应的测试用例,每一测试用例对应一个需要测试的接口,例如,该接口指令包括http接口、dubbo接口的测试指令,根据该接口指令获取对应的测试用例,如http测试用例、dubbo测试用例等。

转换模块3,用于将所获取的测试用例转换成统一格式的请求报文;

具体地,对所获取的测试用例进行格式转换,使得每一测试用例转换成具有统一格式的请求报文,例如,将dubbo测试用例、restful测试用例转换为测试用例报文,该测试用例报文支持多种协议(例如http、dubbo协议),然后将该测试用例报文转换为统一格式的请求报文(json文本格式的报文)。

测试模块4,用于基于请求报文自动进行接口测试,获得对应的测试结果;

具体地,根据该请求报文自动进行测试任务调度,执行相应的测试,并获得对应的测试结果。

在本实施例的一个优选方案中,该系统还可包括:与测试模块4连接的缓存模块,其中:

缓存模块,用于缓存该测试结果;

具体地,自动执行测试任务后,将获取的测试结果缓存下来(具体可存储在内存中),以供后续进行测试结果分析。

在本实施例的一个优选方案中,该系统还可包括:与测试模块4连接的展示模块,其中:

展示模块,用于展示该测试结果。

具体地,获取测试结果后,可在前端的页面展示测试结果,用户可直观地看到测试结果。

在本实施例的另一优选方案中,该系统还可包括:与测试模块4连接的缓存模块及展示模块,其中:

缓存模块,用于缓存该测试结果;

展示模块,用于展示该测试结果;

本实施例中,进行不同接口测试时,将对应的测试用例转换成统一格式的请求报文,可在同一测试平台进行测试,无需为每一接口测试配置一测试平台,可提高测试效率。

在本实施例的一个优选方案中,该获取模块2具体包括:添加单元及与其连接的测试用例组装单元,其中

添加单元,用于基于测试指令添加对应的报文模板;

具体地,根据所需要测试的接口添加对应的报文模板,每一报文模板对应一个需要测试的接口;

测试用例组装单元,用于基于每一报文模板组装对应的测试用例;

具体地,根据每一报文模板组装对应的测试用例。

在本实施例的一个优选方案中,该测试用例组装单元具体包括:测试场景获取子单元、与测试场景获取子单元连接的测试数据获取子单元、与测试数据获取子单元连接的组装子单元,其中:

测试场景获取子单元,用于基于每一报文模板获取对应的测试场景;

具体地,根据实际用例添加对应的测试场景,优选地,通过修改报文模板的参数字段来实现,最终实现参数化模板报文。

测试数据获取子单元,用于获取每一测试场景的测试数据;

具体地,修改报文模板的参数字段后,获取对应的测试场景的测试数据,优选地,基于测试数据是场景中参数化后的字段来获取测试数据;

组装子单元,用于基于测试场景、报文模板及测试数据组装对应的测试用例;

具体地,基于测试场景、报文模板及测试数据组装对应的测试用例。

在本实施例的一个优选方案中,该转换模块3具体包括:报文组装单元、与报文组装单元连接的转换单元,其中:

报文组装单元,用于将每一所述测试用例组装成一测试用例报文;

具体地,将具体的脚本按测试用例组装成多个测试用例报文,该测试用例报文支持多种协议类型格式,例如:http、dubbo、restful协议等。

转换单元,用于将每一测试用例报文进行格式转换,获得对应的请求报文;

具体地,将每一测试用例报文进行格式转换,获得对应的请求报文,其中请求报文的格式均相同,例如将每一测试用例报文转换成统一格式的json文本格式报文。

本实施例中,需要进行不同接口测试时,将对应的测试用例转换成统一格式的请求报文,可在同一测试平台进行测试,无需为每一接口测试配置一测试平台,可提高测试效率。

其次,分别基于场景、报文及数据进行测试用例组装,使得测试更加灵活;再者,场景与报文模板、测试数据分开管理,便于后期维护。

再者,不同类型的接口可在一个测试平台进行测试,可降低测试成本,给用户带来便利。

实施例三:

图5示出了本发明第三实施例提供的一种服务终端的结构图,该处服务终端包括:存储器(memory)51、处理器(processor)52、通信接口(communicationsinterface)53和总线54,该处理器52、存储器51、通信接口53通过总线54完成相互之间的交互通信。

存储器51,用于存储各种数据;

具体地,存储器51用于存储各种数据,例如通信过程中的数据、接收的数据等,此处对此不作限制,该存储器还包括有多个计算机程序。

通信接口53,用于该服务终端的通信设备之间的信息传输;

处理器52,用于调用存储器51中的各种计算机程序,以执行上述实施例一所提供的一种网络设置方法,例如:

接收接口测试指令,所述测试指令包括两个以上需要测试的接口;

基于所述测试指令获取对应的测试用例,每一所述测试用例对应一个所述需要测试的接口;

将所获取的测试用例转换成统一格式的请求报文;

基于所述请求报文自动进行接口测试,获得对应的测试结果。

在本实施例的一个优选方案中,该服务终端可具体为接口测试终端(或平台)。

本实施例中,需要进行不同接口测试时,将对应的测试用例转换成统一格式的请求报文,可在同一测试平台进行测试,无需为每一接口测试配置一测试平台,可提高测试效率。

本发明还提供一种存储器,该存储器存储有多个计算机程序,该多个计算机程序被处理器调用执行上述实施例一所述的一种借口的自动测试方法。

本发明中,需要进行不同接口测试时,将对应的测试用例转换成统一格式的请求报文,可在同一测试平台进行测试,无需为每一接口测试配置一测试平台,可提高测试效率。

其次,分别基于场景、报文及数据进行测试用例组装,使得测试更加灵活;再者,场景与报文模板、测试数据分开管理,便于后期维护。

再者,不同类型的接口可在一个测试平台进行测试,可降低测试成本,给用户带来便利。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。

专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1