CN108345508A - 接口调用测试方法和装置 - Google Patents
接口调用测试方法和装置 Download PDFInfo
- Publication number
- CN108345508A CN108345508A CN201710051246.5A CN201710051246A CN108345508A CN 108345508 A CN108345508 A CN 108345508A CN 201710051246 A CN201710051246 A CN 201710051246A CN 108345508 A CN108345508 A CN 108345508A
- Authority
- CN
- China
- Prior art keywords
- interface
- message
- program
- response message
- analog response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种接口调用测试方法和装置,该接口调用测试方法包括:通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的所述接口的接口请求报文;所述接口请求报文在测试所述第二程序对所述第一程序所属的所述接口的调用时触发;响应于所述接口请求报文,查询本地存储的模拟响应报文;向所述第二程序返回所述模拟响应报文,使得所述第二程序继续处理所述模拟响应报文,以继续所述测试。本发明提供的接口调用测试方法和装置,可提高测试效率。
Description
技术领域
本发明涉及计算机测试技术领域,特别是涉及跨程序的测试技术领域,尤其涉及一种接口调用测试方法和装置。
背景技术
随着计算机技术的进步,程序开发者不断开发出新的程序,使得计算机功能越来越多样化。目前很多程序的功能不再独立,需要通过网络调用另一个程序提供的接口来实现其功能。这里的程序可以是个人计算机上运行的程序,也可以是服务器上运行的应用系统。
程序在开发过程中,需要经过测试,确保其功能完善后,才会正式上线使用。目前,测试某程序对外部程序接口的调用时,需要调用接口所涉及的各程序中关于接口调用的逻辑功能均完善后,才能进行联调测试。
然而,各程序间的联调测试,需要各程序的开发者人为约定开发进度,才能保证联调测试顺利进行,其中任一方存在问题,联调测试就无法进行。因此,目前通过联调测试来进行接口调用测试的方式,效率低下。
发明内容
基于此,有必要针对目前通过联调测试来进行接口调用测试的方式效率低下的问题,提供一种接口调用测试方法和装置。
一种接口调用测试方法,包括:
通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的所述接口的接口请求报文;所述接口请求报文在测试所述第二程序对所述第一程序所属的所述接口的调用时触发;
响应于所述接口请求报文,查询本地存储的模拟响应报文;
向所述第二程序返回所述模拟响应报文,使得所述第二程序继续处理所述模拟响应报文,以继续所述测试。
一种接口调用测试装置,包括:
接口请求报文处理模块,用于通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的所述接口的接口请求报文;所述接口请求报文在测试所述第二程序对所述第一程序所属的所述接口的调用时触发;
模拟响应报文处理模块,用于响应于所述接口请求报文,查询本地存储的模拟响应报文;向所述第二程序返回所述模拟响应报文,使得所述第二程序继续处理所述模拟响应报文,以继续所述测试。
上述接口调用测试方法和装置,在测试第二程序对第一程序所属的接口的调用时,不需要第一程序完善其被调用的第一程序所属的接口,就可以通过模拟第一程序所属的接口的网络服务,向第二程序返回模拟响应报文。基于返回至第二程序的模拟响应报文,就可以继续测试,避免通过联调测试来测试接口调用,提高了测试效率。
附图说明
图1为一个实施例中接口调用测试方法的应用环境图;
图2为一个实施例中服务器的内部结构示意图;
图3为一个实施例中接口调用测试方法的流程示意图;
图4为一个实施例中配置模拟响应报文的步骤的流程示意图;
图5为一个实施例中分发网络请求报文的步骤的流程示意图;
图6为一个具体应用场景中接口调用测试方法的流程示意图;
图7为一个实施例中模拟响应报文设置程序提供的交互界面的示意图;
图8为一个实施例中接口调用测试装置的结构框图;
图9为另一个实施例中接口调用测试装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中接口调用测试方法的应用环境图。参照图1,该接口调用测试方法应用于接口调用测试系统。该接口调用测试系统包括终端110、服务器120和电子设备130,终端110和电子设备130均通过网络与服务器120连接。电子设备130可以是终端或者服务器。
其中,终端110用于运行模拟响应报文设置程序,模拟响应报文设置程序用于配置模拟响应报文,从而向服务器120发送用于配置模拟响应报文的配置请求报文。
服务器120用于运行用于配置模拟响应报文的网络服务,服务器120通过用于配置模拟响应报文的网络服务,获取配置请求报文所携带的模拟响应报文,存储该模拟响应报文。
电子设备130用于运行第二程序,从而通过第二程序向服务器120发送针对模拟的接口的接口请求报文。
服务器120用于运行用于模拟第一程序所属的接口的网络服务,在接收到接口请求报文后,通过用于模拟第一程序所属的接口的网络服务,响应于接口请求报文,查询本地存储的模拟响应报文,向第二程序返回模拟响应报文,使得第二程序继续处理模拟响应报文,以继续测试。
图2为一个实施例中服务器的内部结构示意图。参照图2,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统和接口调用测试装置。该接口调用测试装置用于实现一种接口调用测试方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的接口调用测试装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种接口调用测试方法。该服务器的网络接口用于据以与终端和其它服务器通过网络连接通信,比如接收终端发送的接口请求报文,发送模拟响应报文等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中接口调用测试方法的流程示意图。本实施例主要以该方法应用于图1中的服务器120来举例说明。参照图3,该接口调用测试方法具体包括如下步骤:
S302,通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的接口的接口请求报文;接口请求报文在测试第二程序对第一程序所属的接口的调用时触发。
其中,第一程序所属的接口是指属于第一程序的接口,该接口在实际使用中由第一程序提供,供第二程序调用。第一程序可以是直接面向用户的应用程序,也可以是为应用程序提供后台服务的服务程序。
第二程序是接口调用方,用于调用第一程序所属的接口。第二程序运行在电子设备上,电子设备通过该第二程序发起针对模拟的接口的接口请求报文。第二程序可以是直接面向用户的应用程序,也可以是为应用程序提供后台服务的服务程序。第一程序与第二程序可运行于相同或者不同的电子设备上。
模拟的第一程序所属的接口,则是模拟第一程序所属的接口的功能的接口,本实施例中由服务器提供该模拟的第一程序所属的接口。针对模拟的接口的接口请求报文,是请求调用该模拟的第一程序所属的接口的请求报文。接口请求报文具体可以是HTTP(HyperText Transfer Protocol,超文本传输协议)定义的请求报文。
网络服务(Web Service)是能够处理通过网络传递的网络请求的计算机程序,具体可接收和发送网络请求。服务器上配置有一种网络服务,该网络服务用于模拟第一程序所属的接口。
具体地,电子设备上运行第二程序,该电子设备在测试第二程序对第一程序所属的接口的调用时,触发针对模拟的接口的接口请求报文,并将该接口请求报文发送至服务器。服务器通过其上运行的用于模拟第一程序所属的接口的网络服务,接收第二程序发送的接口请求报文,该接口请求报文针对模拟的第一程序所属的接口。
S304,响应于接口请求报文,查询本地存储的模拟响应报文。
具体地,服务器可通过其上运行的用于模拟第一程序所属的接口的网络服务,在接收到接口请求报文后,直接查询存储在服务器上的模拟响应报文。服务器具体可通过其上运行的用于模拟第一程序所属的接口的网络服务,从内存储器(简称内存)或者数据库或者文件中,查询模拟响应报文。
在一个实施例中,步骤S304包括:获取接口请求报文所携带的标志位;查询与标志位对应的模拟响应报文。其中,标志位可用于标识不同的第一程序所属的接口,对应不同的模拟响应报文。不同的第一程序所属的接口具体可以是相同第一程序所属的不同接口,也可以是不同第一程序各自所属的接口。
其中,模拟响应报文是模拟第一程序所属的接口在被调用时做出响应而产生的响应报文。模拟响应报文可以仅存在一种,如仅有响应成功时产生的响应报文。模拟响应报文可以存在多于一种,如既有响应成功时产生的响应报文,又有响应失败时产生的响应报文。
在一个实施例中,当本地存储的模拟响应报文多于一种时,服务器可获取接口请求报文所指定的报文类型,从而获取本地存储的与该报文类型对应的模拟响应报文。
在一个实施例中,当本地存储的模拟响应报文多于一种时,服务器可按照配置的随机选中概率,从本地存储的模拟响应报文中随机选择模拟响应报文。本实施例中,通过配置的随机选中概率,可以模拟真实场景下模拟响应报文的返回情形,进行更全面的测试。
S306,向第二程序返回模拟响应报文,使得第二程序继续处理模拟响应报文。
具体地,第二程序在被测试对第一程序所属的接口的调用时发起接口请求报文,并在接收到模拟响应报文后继续进行测试。进一步地,电子设备可根据模拟响应报文直接获得测试结果,也可以根据模拟响应报文进行进一步处理以完成测试。
上述接口调用测试方法,在测试第二程序对第一程序所属的接口的调用时,不需要第一程序完善其被调用的第一程序所属的接口,就可以通过模拟第一程序所属的接口的网络服务,向第二程序返回模拟响应报文。基于返回至第二程序的模拟响应报文,就可以继续测试,避免通过联调测试来测试接口调用,提高了测试效率。
在一个实施例中,捕捉S302包括:通过与本地的网络协议地址与本地配置的端口号对应、且用于模拟第一程序所属的接口的网络服务,接收第二程序发送的以网络协议地址和端口号为目的地址的接口请求报文。
具体地,服务器创建报文处理进程,将服务器本地的网络协议地址(InternetProtocol Address,简称IP地址)与本地配置的端口号绑定到该报文处理进程。服务器可按照本地的网络协议地址与配置的端口号,在报文处理进程中创建网络服务OuterApiService该网络服务OuterApiService用于模拟第一程序所属的接口。
进一步地,电子设备上的第二程序按照服务器的网络协议地址和配置的端口号,配置第一程序所属的接口的调用地址,从而在根据该调用地址调用该第一程序所属的接口时,触发发向该网络协议地址和该端口号的接口请求报文,由服务器接收。
在一个实施例中,电子设备可根据包括标志位的调用地址,触发包括标志位的接口请求报文。其中,标志位用于标识不同的接口,从而实现对不同的接口的调用。
电子设备可在测试完成后,将第一程序所属的接口的调用地址替换用于请求第一程序上的相应接口的调用地址。
服务器接收到携带有本地的网络协议地址的接口请求报文,进而在接口请求报文中携带本地配置的端口号时,将该接口请求报文分配至报文处理进程处理。服务器通过报文处理进程,将该接口请求报文分发至网络服务OuterApiService。服务器可通过该网络服务OuterApiService,查询模拟响应报文并向第二程序返回该模拟响应报文。
举例说明,假设本地的IP地址为11.11.11.11,配置一个端口号为8080,则服务器创建一个报文处理进程,将该IP地址11.11.11.11和端口号8080绑定到该报文处理进程。电子设备上的第二程序按照IP地址11.11.11.11和端口号8080配置第一程序所属的接口,如配置第一程序所属的接口的调用地址为:http://11.11.11.11:8080/OuterApiService,其中OuterApiService是模拟的第一程序所属的接口的名称。电子设备通过调用地址http://11.11.11.11:8080/OuterApiService调用接口,将触发接口请求报文并发送至服务器。服务器接收到该接口请求报文,按照其中携带的IP地址11.11.11.11和端口号8080将该接口请求报文分配至报文处理进程处理。服务器通过报文处理进程将接口请求报文分发至网络服务OuterApiService进行处理。
比如,电子设备可根据调用地址http://11.11.11.11:8080/OuterApiService?a=1触发接口请求报文。其中,a表示标志位,标志位取不同的值可以用来代表不同的接口。这样就可以实现对大量接口的调用测试。
本实施例中,通过本地的网络协议地址和本地配置的端口号,就可以基于模拟的第一程序所属的接口,实现接口调用测试,提高了测试效率和测试便利性。
在一个实施例中,步骤S306包括:向第二程序返回模拟响应报文,使得运行第二程序的电子设备将模拟响应报文与预设的接口文档中记录的响应报文进行比对,获得响应报文测试结果。
其中,接口文档是一种计算机可读文件,接口文档中记载了接口请求报文中的各个字段以及各字段的格式,还记载了相应的响应报文中的各个字段以及各字段的格式。接口文档预先存储于电子设备能够获取的位置,如存储在电子设备本地。
具体地,运行第二程序的电子设备接收到服务器返回的模拟响应报文,对于模拟响应报文和接口文档中记录的相应响应报文,进行逐字段的比对,具体可比对字段的字符和/或格式是否相同。
如果经过比对,模拟响应报文和接口文档中记录的相应响应报文所有字段的字符和/或格式均一致,则可获得表示响应报文测试通过的响应报文测试结果。如果经过比对,模拟响应报文和接口文档中记录的相应响应报文至少有一个字段的字符和/或格式不一致,则可获得表示响应报文测试未通过的响应报文测试结果。
举例说明,假设接口文档中定义的响应报文的各个字段及各字段相应的内容如下表一所示:
表一:
字段名称 | 字段描述 | 字段格式 | 是否必填 | 备注 |
sms_code | 校验码 | 字符型,长度最长为8个字符 | 是 | |
error_code | 错误码 | 字符型,定长32个字符 | 否 |
表一中定义了两个字段,并记录了相应的字段描述、字段格式、是否必填以及备注等信息。电子设备在接收模拟响应报文后,将模拟响应报文中和表一中的sms_code和error_code分别比对,获得响应报文测试结果。
本实施例中,向第二程序返回模拟响应报文后,运行第二程序的电子设备可基于该模拟响应报文和接口文档中记录的响应报文,直接获得响应报文测试结果,提高了测试效率。
在一个实施例中,在步骤S302之后,该接口调用测试方法还包括:将接口请求报文记录在日志中;将日志发送至第二程序,使得运行第二程序的电子设备将日志中记录的接口请求报文与接口文档中记录的接口请求报文进行比对,获得接口请求报文测试结果。
具体地,运行第二程序的电子设备可主动从服务器下载日志,服务器也可以主动将日志发送至运行第二程序的电子设备。电子设备获取到日志后,对于日志中记录的接口请求报文和接口文档中记录的相应接口请求报文,进行逐字段的比对,具体可比对字段的字符和/或格式是否相同。
如果经过比对,日志中记录的接口请求报文和接口文档中记录的相应响应报文所有字段的字符和/或格式均一致,则可获得表示接口请求报文测试通过的接口请求报文测试结果。如果经过比对,日志中记录的接口请求报文和接口文档中记录的相应响应报文至少有一个字段的字符和/或格式不一致,则可获得表示接口请求报文测试未通过的接口请求报文测试结果。
本实施例中,将接口请求报文记录在日志中,使得运行第二程序的电子设备基于该日志可,可以做更为全面的测试,保证测试的有效性。
在一个实施例中,在步骤S302之前,该接口调用测试方法还包括配置模拟响应报文的步骤。参照图4,该配置模拟响应报文的步骤具体包括如下步骤:
S402,通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文。
具体地,服务器上创建有用于配置模拟响应报文的网络服务SetRspService,服务器通过该网络服务SetRspService接收用于配置模拟响应报文的配置请求报文。进一步地,服务器可在绑定本地的网络协议地址和配置的端口号的报文处理进程中,创建该网络服务SetRspService。
终端上可运行模拟响应报文设置程序,终端通过该模拟响应报文设置程序提供交互界面,获取在该交互界面中配置的模拟响应报文,从而生成携带该配置的模拟响应报文的配置请求报文,将该配置请求报文发送至服务器。配置请求报文还可以携带标志位。
在一个实施例中,终端可通过模拟响应报文设置程序,在交互界面中提供响应报文模板选项的集合;获取响应报文模板选择指令,根据响应报文模板选择指令选中响应报文模板选项;显示选中的响应报文模板选项对应的响应报文模板;获取在响应报文模板中录入的报文内容,从而根据显示的响应报文模板和录入的报文内容生成配置的模拟响应报文。
在一个实施例中,具体可获取网络服务SetRspService的访问地址,该访问地址包括服务器的网络协议地址、配置的端口号以及网络服务SetRspService的名称;终端根据该访问地址,将配置请求报文发送至服务器。
在一个实施例中,步骤S402包括:通过与本地的网络协议地址与本地配置的端口号对应、且用于配置模拟响应报文的网络服务,接收以网络协议地址和端口号为目的地址、且用于配置模拟响应报文的配置请求报文。
S404,获取配置请求报文所携带的模拟响应报文。
具体地,服务器可通过网络服务SetRspService,从配置请求报文中提取模拟响应报文。服务器还可以从配置请求报文中提取标志位。
S406,存储模拟响应报文。
具体地,服务器可通过网络服务SetRspService,将模拟响应报文直接存储。服务器也可以通过网络服务SetRspService,将模拟响应报文与从配置请求报文中提取的标志位对应存储。
本实施例中,通过用于配置模拟响应报文的网络服务,对用于配置模拟响应报文的配置请求报文进行响应,从而自由地配置模拟响应报文,可根据需要自由地配置模拟响应报文,进一步提高了测试效率和测试便利性。
在一个实施例中,在步骤S402之前,该接口调用测试方法还包括分发网络请求报文的步骤。参照图5,该分发网络请求报文的步骤具体包括如下步骤:
S502,根据本地的网络协议地址与本地配置的端口号,监听以网络协议地址和端口号为目的地址的网络请求报文。
其中,网络请求报文是请求与服务器进行交互的报文,具体可以是请求从服务器获得数据的报文,也可以是请求向服务器发送数据的报文。网络请求报文包括配置请求报文和接口请求报文。
具体地,服务器创建报文处理进程,将服务器本地的网络协议地址与本地配置的端口号绑定到该报文处理进程。服务器接收到携带有本地的网络协议地址的网络请求报文,进而在网络请求报文中携带本地配置的端口号时,将该网络请求报文分配至报文处理进程。服务器通过该报文处理进程,监听到以网络协议地址和端口号为目的地址的网络请求报文。
S504,当网络请求报文为配置请求报文时,将网络请求报文作为配置请求报文分发至用于配置模拟响应报文的网络服务。
具体地,服务器通过报文处理进程,获取网络请求报文中的请求标识,并与预置的配置请求报文中的请求标识进行比较;若比较结果为一致,则判定网络请求报文为配置请求报文,从而将该配置请求报文分发至用于配置模拟响应报文的网络服务。请求标识可以定义在网络请求报文中的一个字段中。
S506,当网络请求报文为接口请求报文时,将网络请求报文作为接口请求报文分发至用于模拟第一程序所属的接口的网络服务。
具体地,服务器通过报文处理进程,获取网络请求报文中的请求标识,并与预置的接口请求报文中的请求标识比较;若比较结果为一致,则判定网络请求报文为接口请求报文,从而将该接口请求报文分发至用于配置模拟响应报文的网络服务。
本实施例中,通过相同的网络协议地址与相同的端口号,可以实现模拟响应报文的配置,以及对接口请求报文进行响应以返回模拟响应报文,节省了资源,并可以保证测试效率。
下面用一个具体应用场景来说明上述接口调用测试方法的原理。参照图6,在服务器上绑定服务器的IP地址11.11.11.11以及指定的端口号8080。在服务器的8080端口上新建一个Web Service,命名为SetRspService,用于配置模拟响应报文。在服务器的8080端口上新建一个Web Service,命名为OuterApiService,用于模拟第一系统所属的接口。
终端上运行模拟响应报文设置程序,通过该模拟响应报文设置程序提供用于配置模拟响应报文的交互页面,如图7所示。用户可在该交互页面中选择第一系统所属的接口所采用的响应报文模板,并在选择的响应报文模板中输入报文内容,生成模拟响应报文。终端通过模拟响应报文设置程序,根据SetRspService的访问地址http://11.11.11.11:8080/SetRspService,利用HTTP定义的POST方式,将携带模拟响应报文的配置请求报文发送至服务器上的SetRspService。
进一步地,服务器上的SetRspService接收模拟响应报文设置程序发送的配置请求报文,从配置请求报文中获取模拟响应报文并存储。第二系统按照接口文档中记录的接口请求报文组装接口请求报文,调用http://11.11.11.11:8080/OuterApiService,使用POST方式发送接口请求报文至服务器上的OuterApiService。OuterApiService将接收到的接口请求报文存储至日志中,并向第二系统返回先前存储的模拟响应报文。
进一步地,第二系统在接收到模拟响应报文后,将模拟响应报文与接口文档中的响应报文逐个字段比对;并且查看服务器记录的日志,比对日志中的接口请求报文和接口文档中记录的接口请求报文。如果存在问题,则修改第二系统的报文处理逻辑;如果没有问题,则测试通过。待第一系统所属的接口上线后,第二系统将http://11.11.11.11:8080/OuterApiService替换为上线后的第一系统所属的接口的调用地址,进行联调测试,此时第二系统不再有报文格式方面的问题。
图8为一个实施例中接口调用测试装置800的结构框图。参照图8,该接口调用测试装置800包括:接口请求报文处理模块801和模拟响应报文处理模块802。
接口请求报文处理模块801,用于通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的接口的接口请求报文;接口请求报文在测试第二程序对第一程序所属的接口的调用时触发。
模拟响应报文处理模块802,用于响应于接口请求报文,查询本地存储的模拟响应报文;向第二程序返回模拟响应报文,使得第二程序继续处理模拟响应报文,以继续测试。
在一个实施例中,接口请求报文处理模块801还用于通过与本地的网络协议地址与本地配置的端口号对应、且用于模拟第一程序所属的接口的网络服务,接收第二程序发送的以网络协议地址和端口号为目的地址的接口请求报文。
在一个实施例中,模拟响应报文处理模块802还用于获取接口请求报文所携带的标志位;查询与标志位对应的模拟响应报文。
在一个实施例中,模拟响应报文处理模块802还用于向第二程序返回模拟响应报文,使得运行第二程序的电子设备将模拟响应报文与预设的接口文档中记录的响应报文进行比对,获得响应报文测试结果。
图9为另一个实施例中接口调用测试装置800的结构框图。参照图9,该接口调用测试装置800包括:日志管理模块803,用于将接口请求报文记录在日志中;将日志发送至第二程序,使得运行第二程序的电子设备将日志中记录的接口请求报文与接口文档中记录的接口请求报文进行比对,获得接口请求报文测试结果。
在一个实施例中,该接口调用测试装置800包括:模拟响应报文配置模块804,用于通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文;获取配置请求报文所携带的模拟响应报文;存储模拟响应报文。
在一个实施例中,该接口调用测试装置800包括:分发模块805,用于根据本地的网络协议地址与本地配置的端口号,监听以网络协议地址和端口号为目的地址的网络请求报文;当网络请求报文为配置请求报文时,将网络请求报文作为配置请求报文分发至用于配置模拟响应报文的网络服务;当网络请求报文为接口请求报文时,将网络请求报文作为接口请求报文分发至用于模拟第一程序所属的接口的网络服务。
在一个实施例中,模拟响应报文配置模块804还用于通过与本地的网络协议地址与本地配置的端口号对应、且用于配置模拟响应报文的网络服务,接收以网络协议地址和端口号为目的地址、且用于配置模拟响应报文的配置请求报文。
上述接口调用测试装置800,在测试第二程序对第一程序所属的接口的调用时,不需要第一程序完善其被调用的第一程序所属的接口,就可以通过模拟第一程序所属的接口的网络服务,向第二程序返回模拟响应报文。基于返回至第二程序的模拟响应报文,就可以继续测试,避免通过联调测试来测试接口调用,提高了测试效率。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的接口的接口请求报文;接口请求报文在测试第二程序对第一程序所属的接口的调用时触发;响应于接口请求报文,查询本地存储的模拟响应报文;向第二程序返回模拟响应报文,使得第二程序继续处理模拟响应报文,以继续测试。
在一个实施例中,通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的接口的接口请求报文包括:通过与本地的网络协议地址与本地配置的端口号对应、且用于模拟第一程序所属的接口的网络服务,接收第二程序发送的以网络协议地址和端口号为目的地址的接口请求报文。
在一个实施例中,响应于接口请求报文,查询本地存储的模拟响应报文包括:获取接口请求报文所携带的标志位;查询与标志位对应的模拟响应报文。
在一个实施例中,向第二程序返回模拟响应报文包括:向第二程序返回模拟响应报文,使得运行第二程序的电子设备将模拟响应报文与预设的接口文档中记录的响应报文进行比对,获得响应报文测试结果。
在一个实施例中,处理器执行计算机程序时实现以下步骤:在接收第二程序发送的针对模拟的接口的接口请求报文之后,将接口请求报文记录在日志中;将日志发送至第二程序,使得运行第二程序的电子设备将日志中记录的接口请求报文与接口文档中记录的接口请求报文进行比对,获得接口请求报文测试结果。
在一个实施例中,处理器执行计算机程序时实现以下步骤:在通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的接口的接口请求报文之前,通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文;获取配置请求报文所携带的模拟响应报文;存储模拟响应报文。
在一个实施例中,处理器执行计算机程序时实现以下步骤:在通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文之前,根据本地的网络协议地址与本地配置的端口号,监听以网络协议地址和端口号为目的地址的网络请求报文;当网络请求报文为配置请求报文时,将网络请求报文作为配置请求报文分发至用于配置模拟响应报文的网络服务;当网络请求报文为接口请求报文时,将网络请求报文作为接口请求报文分发至用于模拟第一程序所属的接口的网络服务。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现以下步骤:
通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的接口的接口请求报文;接口请求报文在测试第二程序对第一程序所属的接口的调用时触发;响应于接口请求报文,查询本地存储的模拟响应报文;向第二程序返回模拟响应报文,使得第二程序继续处理模拟响应报文,以继续测试。
在一个实施例中,通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的接口的接口请求报文包括:通过与本地的网络协议地址与本地配置的端口号对应、且用于模拟第一程序所属的接口的网络服务,接收第二程序发送的以网络协议地址和端口号为目的地址的接口请求报文。
在一个实施例中,响应于接口请求报文,查询本地存储的模拟响应报文包括:获取接口请求报文所携带的标志位;查询与标志位对应的模拟响应报文。
在一个实施例中,向第二程序返回模拟响应报文包括:向第二程序返回模拟响应报文,使得运行第二程序的电子设备将模拟响应报文与预设的接口文档中记录的响应报文进行比对,获得响应报文测试结果。
在一个实施例中,计算机指令被处理器执行时还实现以下步骤:在接收第二程序发送的针对模拟的接口的接口请求报文之后,将接口请求报文记录在日志中;将日志发送至第二程序,使得运行第二程序的电子设备将日志中记录的接口请求报文与接口文档中记录的接口请求报文进行比对,获得接口请求报文测试结果。
在一个实施例中,计算机指令被处理器执行时还实现以下步骤:在通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的接口的接口请求报文之前,通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文;获取配置请求报文所携带的模拟响应报文;存储模拟响应报文。
在一个实施例中,计算机指令被处理器执行时还实现以下步骤:在通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文之前,根据本地的网络协议地址与本地配置的端口号,监听以网络协议地址和端口号为目的地址的网络请求报文;当网络请求报文为配置请求报文时,将网络请求报文作为配置请求报文分发至用于配置模拟响应报文的网络服务;当网络请求报文为接口请求报文时,将网络请求报文作为接口请求报文分发至用于模拟第一程序所属的接口的网络服务。
上述计算机设备及计算机可读存储介质,在测试第二程序对第一程序所属的接口的调用时,不需要第一程序完善其被调用的第一程序所属的接口,就可以通过模拟第一程序所属的接口的网络服务,向第二程序返回模拟响应报文。基于返回至第二程序的模拟响应报文,就可以继续测试,避免通过联调测试来测试接口调用,提高了测试效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种接口调用测试方法,包括:
通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的所述接口的接口请求报文;所述接口请求报文在测试所述第二程序对所述第一程序所属的所述接口的调用时触发;
响应于所述接口请求报文,查询本地存储的模拟响应报文;
向所述第二程序返回所述模拟响应报文,使得所述第二程序继续处理所述模拟响应报文,以继续所述测试。
2.根据权利要求1所述的方法,其特征在于,所述通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的所述接口的接口请求报文,包括:
通过与本地的网络协议地址与本地配置的端口号对应、且用于模拟第一程序所属的接口的网络服务,接收第二程序发送的以所述网络协议地址和所述端口号为目的地址的接口请求报文。
3.根据权利要求1所述的方法,其特征在于,所述响应于所述接口请求报文,查询本地存储的模拟响应报文,包括:
获取所述接口请求报文所携带的标志位;
查询与所述标志位对应的模拟响应报文。
4.根据权利要求1所述的方法,其特征在于,所述向所述第二程序返回所述模拟响应报文,使得所述第二程序继续处理所述模拟响应报文,以继续所述测试,包括:
向所述第二程序返回所述模拟响应报文,使得运行所述第二程序的电子设备将所述模拟响应报文与预设的接口文档中记录的响应报文进行比对,获得响应报文测试结果。
5.根据权利要求1所述的方法,其特征在于,所述接收第二程序发送的针对模拟的所述接口的接口请求报文之后,所述方法还包括:
将所述接口请求报文记录在日志中;
将所述日志发送至所述第二程序,使得运行所述第二程序的电子设备将所述日志中记录的接口请求报文与所述接口文档中记录的接口请求报文进行比对,获得接口请求报文测试结果。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的所述接口的接口请求报文之前,所述方法还包括:
通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文;
获取所述配置请求报文所携带的模拟响应报文;
存储所述模拟响应报文。
7.根据权利要求6所述的方法,其特征在于,所述通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文之前,所述方法还包括:
根据本地的网络协议地址与本地配置的端口号,监听以所述网络协议地址和所述端口号为目的地址的网络请求报文;
当所述网络请求报文为配置请求报文时,将所述网络请求报文作为配置请求报文分发至用于配置模拟响应报文的网络服务;
当所述网络请求报文为接口请求报文时,将所述网络请求报文作为接口请求报文分发至用于模拟第一程序所属的接口的网络服务。
8.一种接口调用测试装置,其特征在于,包括:
接口请求报文处理模块,用于通过用于模拟第一程序所属的接口的网络服务,接收第二程序发送的针对模拟的所述接口的接口请求报文;所述接口请求报文在测试所述第二程序对所述第一程序所属的所述接口的调用时触发;
模拟响应报文处理模块,用于响应于所述接口请求报文,查询本地存储的模拟响应报文;向所述第二程序返回所述模拟响应报文,使得所述第二程序继续处理所述模拟响应报文,以继续所述测试。
9.根据权利要求8所述的装置,其特征在于,所述接口请求报文处理模块还用于通过与本地的网络协议地址与本地配置的端口号对应、且用于模拟第一程序所属的接口的网络服务,接收第二程序发送的以所述网络协议地址和所述端口号为目的地址的接口请求报文。
10.根据权利要求8所述的装置,其特征在于,所述模拟响应报文处理模块还用于获取所述接口请求报文所携带的标志位;查询与所述标志位对应的模拟响应报文。
11.根据权利要求8所述的装置,其特征在于,所述模拟响应报文处理模块还用于向所述第二程序返回所述模拟响应报文,使得运行所述第二程序的电子设备将所述模拟响应报文与预设的接口文档中记录的响应报文进行比对,获得响应报文测试结果。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
日志管理模块,用于将所述接口请求报文记录在日志中;将所述日志发送至所述第二程序,使得运行所述第二程序的电子设备将所述日志中记录的接口请求报文与所述接口文档中记录的接口请求报文进行比对,获得接口请求报文测试结果。
13.根据权利要求8至12中任意一项所述的装置,其特征在于,所述装置还包括:模拟响应报文配置模块,用于通过用于配置模拟响应报文的网络服务,接收用于配置模拟响应报文的配置请求报文;获取所述配置请求报文所携带的模拟响应报文;存储所述模拟响应报文。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
分发模块,用于根据本地的网络协议地址与本地配置的端口号,监听以所述网络协议地址和所述端口号为目的地址的网络请求报文;当所述网络请求报文为配置请求报文时,将所述网络请求报文作为配置请求报文分发至用于配置模拟响应报文的网络服务;当所述网络请求报文为接口请求报文时,将所述网络请求报文作为接口请求报文分发至用于模拟第一程序所属的接口的网络服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710051246.5A CN108345508B (zh) | 2017-01-23 | 2017-01-23 | 接口调用测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710051246.5A CN108345508B (zh) | 2017-01-23 | 2017-01-23 | 接口调用测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108345508A true CN108345508A (zh) | 2018-07-31 |
CN108345508B CN108345508B (zh) | 2022-11-29 |
Family
ID=62974571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710051246.5A Active CN108345508B (zh) | 2017-01-23 | 2017-01-23 | 接口调用测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108345508B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457228A (zh) * | 2019-08-22 | 2019-11-15 | 携程计算机技术(上海)有限公司 | 接口返回报文的比对方法及系统 |
CN110471848A (zh) * | 2019-08-05 | 2019-11-19 | 中国建设银行股份有限公司 | 一种动态返回报文的方法和装置 |
CN110908636A (zh) * | 2018-09-18 | 2020-03-24 | 亿阳信通股份有限公司 | 一种自动提供接口服务的接口模拟方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102811144A (zh) * | 2012-08-16 | 2012-12-05 | 北京傲天动联技术有限公司 | Nms拓扑发现性能测试系统及其方法 |
US20140282436A1 (en) * | 2013-03-14 | 2014-09-18 | International Business Machines Corporation | Testing a software interface for a streaming hardware device |
CN106027330A (zh) * | 2016-05-23 | 2016-10-12 | 中国银行股份有限公司 | 一种前端系统报文测试方法及模拟挡板系统 |
-
2017
- 2017-01-23 CN CN201710051246.5A patent/CN108345508B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102811144A (zh) * | 2012-08-16 | 2012-12-05 | 北京傲天动联技术有限公司 | Nms拓扑发现性能测试系统及其方法 |
US20140282436A1 (en) * | 2013-03-14 | 2014-09-18 | International Business Machines Corporation | Testing a software interface for a streaming hardware device |
CN106027330A (zh) * | 2016-05-23 | 2016-10-12 | 中国银行股份有限公司 | 一种前端系统报文测试方法及模拟挡板系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908636A (zh) * | 2018-09-18 | 2020-03-24 | 亿阳信通股份有限公司 | 一种自动提供接口服务的接口模拟方法及装置 |
CN110471848A (zh) * | 2019-08-05 | 2019-11-19 | 中国建设银行股份有限公司 | 一种动态返回报文的方法和装置 |
CN110471848B (zh) * | 2019-08-05 | 2022-04-19 | 中国建设银行股份有限公司 | 一种动态返回报文的方法和装置 |
CN110457228A (zh) * | 2019-08-22 | 2019-11-15 | 携程计算机技术(上海)有限公司 | 接口返回报文的比对方法及系统 |
CN110457228B (zh) * | 2019-08-22 | 2022-12-20 | 携程计算机技术(上海)有限公司 | 接口返回报文的比对方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108345508B (zh) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528432B (zh) | 测试场景数据的构建方法及装置、埋点测试方法 | |
CN102694857B (zh) | 用于在数据网络上赠送的方法和设备 | |
CN102377616B (zh) | 监测移动互联网活动的系统、方法和设备 | |
CN106156133B (zh) | 控制表单重复提交的方法、装置及系统 | |
CN110046165A (zh) | 分布式应用程序的发布方法、设备及计算机可读存储介质 | |
CN108696399B (zh) | 业务服务的测试方法和装置 | |
CN104022945B (zh) | 在客户端中实现即时通讯的方法和装置 | |
CN107404481B (zh) | 用户信息识别方法及装置 | |
CN104902019A (zh) | 一种应用推广方法、服务器及终端 | |
CN109783357A (zh) | 测试应用程序的方法及装置、计算机设备、存储介质 | |
CN109284458A (zh) | 网页显示方法、装置、计算机设备及存储介质 | |
CN112988608B (zh) | 数据测试方法、装置、计算机设备及存储介质 | |
CN104660557A (zh) | 操作处理方法和装置 | |
CN107203470B (zh) | 页面调试方法和装置 | |
CN107181779A (zh) | 访问请求的处理方法、装置和系统 | |
CN104967644A (zh) | 消息推送方法、装置及系统 | |
CN110519127B (zh) | 网络延时的探测方法、装置和存储介质 | |
CN111224834B (zh) | 模拟测试方法、装置、服务器及存储介质 | |
CN108124007A (zh) | 消息数据实时传输的方法与装置 | |
CN115951923B (zh) | 订阅事件管理方法、显示系统、设备和存储介质 | |
CN109618176A (zh) | 一种直播业务的处理方法、设备和存储介质 | |
CN105577651A (zh) | 服务提供方法及装置 | |
CN108345508A (zh) | 接口调用测试方法和装置 | |
CN110231965A (zh) | 一种云端设备、应用程序处理方法及电子设备 | |
CN110191131A (zh) | 一种文件共享方法、装置、系统、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |