CN110377462A - 接口测试方法、装置及终端设备 - Google Patents
接口测试方法、装置及终端设备 Download PDFInfo
- Publication number
- CN110377462A CN110377462A CN201910522819.7A CN201910522819A CN110377462A CN 110377462 A CN110377462 A CN 110377462A CN 201910522819 A CN201910522819 A CN 201910522819A CN 110377462 A CN110377462 A CN 110377462A
- Authority
- CN
- China
- Prior art keywords
- tested
- data
- path
- interface
- simulaed
- 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
- 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/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- 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/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于数据处理技术领域,提供了接口测试方法、装置、终端设备以及计算机可读存储介质,包括:获取后端接口文档;创建模拟服务器,在模拟服务器中创建后端接口文档中的所有待测试数据,并在前端工程项目的应用代码中添加与每个待测试数据对应的模拟路径;在前端工程项目中调用每条模拟路径得到调用结果,将待测试数据、模拟路径以及调用结果组合为模拟信息,并将模拟信息添加至模拟接口文档中;若后端接口文档中的每个预期结果与模拟接口文档中对应的调用结果均相同,则将前端工程项目的应用代码中的所有模拟路径均更新为待测试路径。本发明在后端未开发完成时通过文档比对的方式完成接口测试工作,提升了接口测试的自由性和适用性。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及接口测试方法、装置、终端设备以及计算机可读存储介质。
背景技术
随着软件开发思想的不断发展,越来越多的开发模式现已应用到软件开发过程中,其中,分离开发模式作为其中一种开发模式,将软件开发的前端开发和后端开发分隔开来,使得前端开发和后端开发互不掣肘,极大地提升了软件开发的效率。
在应用分离开发模式的开发过程中,可能会面临前端已经开发完成,但后端仍在开发中,仅能提供接口文档的情况。在现有技术中,前端人员仅能等待后端开发完成后,使前端项目接入后端服务器,才能开展接口测试工作,导致接口测试的等待时间长,且需要前后端人员同时配合才能进行测试,测试的适用性低。
发明内容
有鉴于此,本发明实施例提供了接口测试方法、装置、终端设备以及计算机可读存储介质,以解决现有技术中接口测试的等待时间长且适用性低的问题。
本发明实施例的第一方面提供了一种接口测试方法,包括:
获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
将所述后端接口文档与所述模拟接口文档进行比对;
若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
本发明实施例的第二方面提供了一种接口测试装置,包括:
获取单元,用于获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建单元,用于创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
组合单元,用于在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
比对单元,用于将所述后端接口文档与所述模拟接口文档进行比对;
更新单元,用于若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
本发明实施例的第三方面提供了一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
将所述后端接口文档与所述模拟接口文档进行比对;
若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
将所述后端接口文档与所述模拟接口文档进行比对;
若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
本发明实施例与现有技术相比存在的有益效果是:
本发明实施例在获取到后端接口文档后,创建模拟服务器,在模拟服务器中构建待测试数据,同时在前端工程项目中添加与待测试数据对应的模拟路径,并对模拟路径发起调用得到调用结果,将待测试数据、模拟路径以及调用结果组合为模拟信息,并将模拟信息添加至模拟接口文档中,若最终的模拟接口文档与后端接口文档比对成功,则将前端工程项目中的所有模拟路径均更新为后端接口文档中的待测试路径,本发明实施例通过构建模拟服务器,在还未接入后端服务器时完成接口测试工作,并通过文档比对的方式综合判断测试的结果是否正确,提升了接口测试的自由性和适用性,加速了软件开发进程。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的接口测试方法的实现流程图;
图2是本发明实施例二提供的接口测试方法的实现流程图;
图3是本发明实施例三提供的接口测试方法的实现流程图;
图4是本发明实施例四提供的接口测试方法的实现流程图;
图5是本发明实施例五提供的接口测试装置的结构框图;
图6是本发明实施例六提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的接口测试方法的实现流程,详述如下:
在S101中,获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果。
分离开发模式是软件开发的一种模式,其主要思想是将软件开发过程中的前端开发和后端开发分离开来,从而使得前端开发和后端开发互不影响,在后期阶段再将开发完成的前端和后端联接在一起,即构建并测试前端与后端之间的接口。但是,由于前端和后端的开发进度不一致,在前端已开发完成时,后端可能仍在开发中,不具备创建接口的条件,仅能提供后端接口文档,为了提升开发效率,减少已开发完成的前端的空置时间,在本发明实施例中,基于后端接口文档对前端进行接口预测试,为了便于说明,以前端工程项目来代表前端,以后端服务器来代表后端,前端工程项目是指一系列的软件项目文件,用于支持前端运行,比如前端工程项目可为安卓应用程序前端项目。值得一提的是,本发明实施例中的后端接口文档包括至少两个待测试信息,其中每个待测试信息对应一个待测试接口,待测试信息具体包括待测试接口的待测试路径、待测试数据以及预期结果,待测试路径为待测试接口在后端服务器中预期的调用路径,待测试数据为待测试接口在后端服务器中对应的数据,预期结果为前端工程项目根据调用路径发起调用后得到的预期的调用结果,后端接口文档可以由前端开发人员或后端开发人员根据实际情况进行自定义设置。另外,本发明实施例对后端接口文档的格式不做限定,比如后端接口文档的格式可为便携式文档格式(Portable Document Format,PDF)、doc格式或超文本标记语言(HyperText MarkupLanguage,HTML)格式等。
在S102中,创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径。
由于后端服务器并未开发完成,故在本发明实施例中创建模拟服务器,并根据后端接口文档配置模拟服务器,其中,模拟服务器优选为轻量级服务器,如Tomcat服务器等。在配置模拟服务器时,在模拟服务器中创建后端接口文档包括的所有待测试数据。同时,为了实现对模拟服务器中的待测试数据的访问,在前端工程项目的应用代码中添加与每个待测试数据对应的模拟路径,该模拟路径可与待测试数据位于模拟服务器中的真实路径相同,也可不同,根据实际配置情况而定。
可选地,获取所述应用代码中与每个所述待测试接口对应的预留代码区域,并将所述预留代码区域内的内容替换为对应的所述模拟路径。为了提升添加模拟路径的自动化程度,可预先在前端工程项目的应用代码中划分出与每个待测试接口对应的预留代码区域(由于待测试接口通常与功能相关,故可查找出应用代码中用于实现不同功能的代码,进一步查找到存放路径的预留代码区域),并在本步骤中将预留代码区域内的内容替换为模拟路径,其中该预留代码区域与该模拟路径对应同一个待测试接口。通过上述方法可实现至少两个模拟路径的批量添加,提升了添加效率。
可选地,模拟服务器为json-server。在本发明实施例中,可部署json-server,并将json-server作为模拟服务器,用于向前端工程项目提供调用对象,其中,json-server是一个开源的轻量级node模块。在部署时,可从网络中下载json-server的安装包,通过执行安装包并配置json-server的运行环境(如node环境)来完成部署。除此之外,还配置json-server监听特定端口,以便通过该特定端口访问json-server,比如特定端口可为3000。由于json-server部署较为简单且易用性强,故将json-server作为模拟服务器,提升了接口测试的可操作性。
在S103中,在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中。
在将模拟路径添加至前端工程项目的应用代码中后,运行前端工程项目,即依次调用每条模拟路径,得到对应的调用结果,调用结果可通过多种方式得到,如抓取前端工程项目与模拟服务器之间的通信数据包或其他方式等,具体内容在后文进行阐述。对于每条模拟路径,将待测试数据、模拟路径以及得到的调用结果组合为模拟信息,并将模拟信息添加至模拟接口文档中,其中模拟接口文档可基于开源的接口文档工具生成。同样地,模拟接口文档的格式可为PDF、doc格式或HTML格式等,但限定模拟接口文档的格式与后端接口文档相同。
在S104中,将所述后端接口文档与所述模拟接口文档进行比对。
将所有模拟路径对应的模拟信息均添加至模拟接口文档之后,将形成的模拟接口文档与后端接口文档进行比对。在比对过程中,屏蔽模拟接口文档中的模拟路径以及后端接口文档中的待测试路径,仅以待测试数据作为比对条件,将对应的调用结果与预期结果进行比对,直到所有待测试数据对应的调用结果与预期结果均比对完成为止,本步骤中的比对操作可通过编写脚本文件来自动执行。
在S105中,若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
在比对完成后,若后端接口文档中的每个预期结果与模拟接口文档中对应的调用结果均相同,即每个待测试数据对应的预期结果与调用结果都一致,则认定所有待测试接口测试通过,将前端工程项目的应用代码中的所有模拟路径均更新为对应的待测试路径,在后续后端服务器接入时,便可直接运行前端工程项目的应用代码来实现基于前、后端的接口测试。反之,若后端接口文档中的某个预期结果与模拟接口文档中对应的调用结果不相同,则基于该预期结果对应的待测试信息以及该调用结果对应的模拟信息生成报警提示,从而提示前端开发人员检查测试失败的原因,报警提示可基于前端提示框、短信或邮件等方式进行发送。
通过图1所示实施例可知,在本发明实施例中,根据预设的后端接口文档配置模拟服务器,同时在前端工程项目的应用代码中添加模拟路径,然后基于模拟路径对模拟服务器进行调用得到调用结果,基于调用结果构建模拟接口文档,并在后端接口文档中的每个预期结果与模拟接口文档中对应的调用结果均相同时,将前端工程项目的应用代码中的所有模拟路径均更新为待测试路径,本发明实施例在仅有前端开发完成时,通过构建模拟服务器进行接口测试工作,并通过文档比对的方式判断测试的结果是否正确,提升了接口测试的自由性和适用性,加速了软件开发进程。
图2所示,是在本发明实施例一的基础上,对在模拟服务器中创建所有待测试数据的过程进行细化后得到的一种接口测试方法。本发明实施例提供了接口测试方法的实现流程图,如图2所示,该接口测试方法可以包括以下步骤:
在S201中,部署Swagger服务,并基于所述Swagger服务创建包含所述待测试数据的数据文件。
为了提升在模拟服务器中创建待测试数据的规范性,在本发明实施例中,利用Swagger来实现待测试数据的创建。Swagger是一个开源的接口文档管理工具,用于生成、描述以及调用Web服务,在部署Swagger服务时,可通过网络下载Swagger的源代码,并将该源代码部署在终端设备上的指定目录下,完成Swagger服务的部署,当然也可手动部署Swagger服务,在此不做赘述。在本发明实施例中,主要应用Swagger服务中的SwaggerEditor功能来实现待测试数据的编写,即对于每一个待测试数据,都通过Swagger Editor功能创建包含该待测试数据的数据文件,该数据文件用于支持模拟的接口的运行,数据文件优选为JSON格式,在实际应用场景中,可通过创建对Swagger服务的操作脚本来自动执行创建数据文件的操作。举例来说,创建的一个数据文件的内容如下:
“example”:[
{“id”:1,“title”:“swagger”,“author”:“Json”}
]
在S202中,将所有所述数据文件均关联至所述模拟服务器。
在创建数据文件时,可为每一个待测试数据单独创建一个数据文件,也可设置一个数据文件包括至少两个待测试数据,本发明实施例对此不做限定。对于创建的所有数据文件,
将其关联至模拟服务器,关联操作根据模拟服务器的具体类型而定,比如关联操作可为将数据文件添加至模拟服务器的配置文件中,举例来说,假设数据文件的名称为“api.json”,且模拟服务器为json-server,则可在json-server的配置文件中配置“constapiRouter=jsonServer.router('api.json')”,完成数据文件“api.json”与模拟服务器的关联,当然,上述关联方式仅为示例。
可选地,通过Swagger服务显示并输出模拟接口文档。除了利用Swagger服务中的Swagger Editor功能来创建待测试数据之外,在本发明实施例中,还可利用Swagger服务的Swagger UI功能,将生成的模拟接口文档以可视化界面的形式输出至前端,便于前端开发人员进行查看及修改。此外,还可利用基于Swagger服务的开源Swagger2Markup项目将Swagger服务中的模拟接口文档以指定格式导出,指定格式包括但不限于PDF、doc格式以及HTML。通过上述方法可将尽量多的操作集成于Swagger服务上实现,降低了接口测试的繁琐度。
通过图2所示实施例可知,在本发明实施例中,部署Swagger服务,并基于Swagger服务创建包含待测试数据的数据文件,将所有数据文件均关联至模拟服务器,本发明实施例引入部署Swagger服务来实现待测试数据的创建,进一步提升了创建待测试数据的自动化程度。
图3所示,是在本发明实施例一的基础上,对在前端工程项目的应用代码中添加与每个待测试数据对应的模拟路径的过程进行细化后得到的一种接口测试方法。本发明实施例提供了接口测试方法的实现流程图,如图3所示,该接口测试方法可以包括以下步骤:
在S301中,获取待测试数据在所述模拟服务器中的访问路径。
为了避免路径替换带来的繁复操作,本发明实施例提供了一种模拟路径的全新添加方式。具体地,由于在模拟服务器中创建待测试数据时,由于模拟服务器的目录结构通常与后端接口文档不同,故模拟服务器中的待测试数据的路径很可能与待测试路径不相同,故首先获取每个待测试数据在模拟服务器中的真实路径,为了便于区分,将该真实路径命名为访问路径。
在S302中,在所述模拟服务器中建立所述待测试路径与所述访问路径之间的路由映射关系,并在前端工程项目的应用代码中添加所述待测试路径,其中,所述待测试路径与所述访问路径对应同一个所述待测试数据。
获取到访问路径之后,在模拟服务器中的配置文件中建立待测试路径与访问路径之间的路由映射关系,该路由映射关系用于将接收到的调用请求中的待测试路径映射为访问路径。举例来说,某个待测试数据在模拟服务器中的访问路径为“http://localhost:3000/a”,而该待测试数据在后端接口文档中的待测试路径为“/api/a”,则可在模拟服务器中建立“/api/a”与“http://localhost:3000/a”之间的路由映射关系,若后续模拟服务器接收到含有“/api/a”的调用请求,则根据路由映射关系自动将其映射为“http://localhost:3000/a”。由于在路由映射关系配置完成后,待测试路径能够被模拟服务器正确映射,故可在前端工程项目的应用代码中添加待测试路径(此处的待测试路径就相当于模拟路径)。
在S303中,保持所述前端工程项目的所述应用代码中的所有所述待测试路径不变。
在对前端工程项目的应用代码添加的是待测试路径的基础上,若最终生成的模拟接口文档与后端接口文档比对成功,由于此时前端工程项目的应用代码中的模拟路径实质为待测试路径,则在本步骤中保持前端工程项目的应用代码中的所有待测试路径不变,从而省去了将模拟路径替换为待测试路径的操作。
通过图3所示实施例可知,在本发明实施例中,获取待测试数据在模拟服务器中的访问路径,在模拟服务器中建立待测试路径与访问路径之间的路由映射关系,并在前端工程项目的应用代码中添加待测试路径,若生成的后端接口文档中的每个预期结果与模拟接口文档中对应的调用结果均相同,则保持前端工程项目的应用代码中的所有待测试路径不变,本发明实施例通过建立路由映射关系,使得前端工程项目对待测试数据的调用过程更类似于真实调用过程,并且省去了模拟路径的替换工作,提升了接口测试的真实性。
图4所示,是在本发明实施例一的基础上,并在待测试信息还包括待测试接口的调用方式,且所述预期结果与所述调用方式对应的基础上,对在前端工程项目中调用每条模拟路径得到调用结果,将待测试数据、模拟路径以及调用结果组合为模拟信息的过程进行细化后得到的一种接口测试方法。本发明实施例提供了接口测试方法的实现流程图,如图4所示,该接口测试方法可以包括以下步骤:
在S401中,在所述前端工程项目中按照所述调用方式对所述模拟路径进行调用,并按照所述调用方式对应的获取规则获取所述调用结果。
在本发明实施例中,除了待测试路径、待测试数据以及预期结果之外,待测试信息可能还包括对于该待测试数据的调用方式,调用方式即为前端工程项目调用待测试数据的具体方式,预期结果与调用方式对应。对于不同的调用方式来说,其获取调用结果的获取规则也不同,为了便于说明,假设调用方式是采用RESTful风格的GET、POST、PUT或DELETE中的一种,其中,GET用于前端获取后端的数据,则可设置对应的获取规则为读取模拟服务器发往的前端工程项目的数据包的内容,作为调用结果;另外的,POST用于前端在后端新增数据,PUT用于前端在后端更新数据,DELETE用于前端在后端删除数据,对于上述的三种调用方式,可设置对应的获取规则均为在调用完毕后,在模拟服务器中查找与模拟路径对应的数据作为调用结果。在前端工程项目对每条模拟路径进行调用时,根据该模拟路径对应的调用方式对模拟路径发起调用,并按照该调用方式对应的获取规则获取调用过程产生的调用结果。此外,若待测试信息包括至少两个调用方式,则在本步骤中按照每个调用方式分别对模拟路径进行调用,并按照每个调用方式对应的获取规则分别获取对应的调用过程中产生的调用结果。
在S402中,将所述待测试数据、所述模拟路径、所述调用方式以及获取到的所述调用结果组合为所述模拟信息。
在对模拟路径进行调用后,将待测试数据、模拟路径、调用方式以及获取到的调用结果组合为模拟信息,在组合出的模拟信息中,调用结果的数量与调用方式的数量相同。
通过图4所示实施例可知,在本发明实施例中,在前端工程项目中按照调用方式对模拟路径进行调用,并按照调用方式对应的获取规则获取调用结果,将待测试数据、模拟路径、调用方式以及获取到的调用结果组合为模拟信息,本发明实施例根据调用方式对应的获取规则来获取调用结果,提升了获取到的调用结果的准确性,同时也满足了不同待测试数据的调用需求。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的方法,图5示出了本发明实施例提供的接口测试装置的结构框图,参照图5,该接口测试装置包括:
获取单元51,用于获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建单元52,用于创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
组合单元53,用于在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
比对单元54,用于将所述后端接口文档与所述模拟接口文档进行比对;
更新单元55,用于若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
可选地,创建单元52包括:
部署单元,用于部署Swagger服务,并基于所述Swagger服务创建包含所述待测试数据的数据文件;
关联单元,用于将所有所述数据文件均关联至所述模拟服务器。
可选地,创建单元52包括:
路径获取单元,用于获取待测试数据在所述模拟服务器中的访问路径;
建立单元,用于在所述模拟服务器中建立所述待测试路径与所述访问路径之间的路由映射关系,并在前端工程项目的应用代码中添加所述待测试路径,其中,所述待测试路径与所述访问路径对应同一个所述待测试数据;
更新单元55,包括:
保持单元,用于保持所述前端工程项目的所述应用代码中的所有所述待测试路径不变。
可选地,待测试信息还包括待测试接口的调用方式,且预期结果与调用方式对应,组合单元53包括:
调用单元,用于在所述前端工程项目中按照所述调用方式对所述模拟路径进行调用,并按照所述调用方式对应的获取规则获取所述调用结果;
组合子单元,用于将所述待测试数据、所述模拟路径、所述调用方式以及获取到的所述调用结果组合为所述模拟信息。
可选地,创建单元52包括:
替换单元,用于获取所述应用代码中与每个所述待测试接口对应的预留代码区域,并将所述预留代码区域内的内容替换为对应的所述模拟路径。
可选地,模拟服务器为json-server。
因此,本发明实施例提供的接口测试装置在前端工程项目开发完成,而后端服务器还未开发完成(还未接入)的情况下,通过构建模拟服务器,并通过文档比对的方式进行接口测试,提升了接口测试的自由性和适用性,加速了软件开发进程。
图6是本发明实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如接口测试程序。所述处理器60执行所述计算机程序62时实现上述各个接口测试方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器60执行所述计算机程序62时实现上述各接口测试装置实施例中各单元的功能,例如图5所示单元51至55的功能。
示例性的,所述计算机程序62可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。例如,所述计算机程序62可以被分割成获取单元、创建单元、组合单元、比对单元以及更新单元,各单元具体功能如下:
获取单元,用于获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建单元,用于创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
组合单元,用于在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
比对单元,用于将所述后端接口文档与所述模拟接口文档进行比对;
更新单元,用于若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述终端设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种接口测试方法,其特征在于,包括:
获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
将所述后端接口文档与所述模拟接口文档进行比对;
若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
2.如权利要求1所述的接口测试方法,其特征在于,所述在所述模拟服务器中创建所有所述待测试数据,包括:
部署Swagger服务,并基于所述Swagger服务创建包含所述待测试数据的数据文件;
将所有所述数据文件均关联至所述模拟服务器。
3.如权利要求1所述的接口测试方法,其特征在于,所述在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径,包括:
获取待测试数据在所述模拟服务器中的访问路径;
在所述模拟服务器中建立所述待测试路径与所述访问路径之间的路由映射关系,并在前端工程项目的应用代码中添加所述待测试路径,其中,所述待测试路径与所述访问路径对应同一个所述待测试数据;
所述将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径,包括:
保持所述前端工程项目的所述应用代码中的所有所述待测试路径不变。
4.如权利要求1所述的接口测试方法,其特征在于,所述待测试信息还包括所述待测试接口的调用方式,且所述预期结果与所述调用方式对应,则所述在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,包括:
在所述前端工程项目中按照所述调用方式对所述模拟路径进行调用,并按照所述调用方式对应的获取规则获取所述调用结果;
将所述待测试数据、所述模拟路径、所述调用方式以及获取到的所述调用结果组合为所述模拟信息。
5.如权利要求1所述的接口测试方法,其特征在于,所述在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径,包括:
获取所述应用代码中与每个所述待测试接口对应的预留代码区域,并将所述预留代码区域内的内容替换为对应的所述模拟路径。
6.如权利要求1所述的接口测试方法,其特征在于,所述模拟服务器为json-server。
7.一种接口测试装置,其特征在于,包括:
获取单元,用于获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建单元,用于创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
组合单元,用于在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
比对单元,用于将所述后端接口文档与所述模拟接口文档进行比对;
更新单元,用于若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
8.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取预设的后端接口文档,所述后端接口文档包括至少两个待测试信息,其中,每个所述待测试信息对应一个待测试接口,所述待测试信息包括所述待测试接口的待测试路径、待测试数据以及预期结果;
创建模拟服务器,在所述模拟服务器中创建所有所述待测试数据,并在前端工程项目的应用代码中添加与每个所述待测试数据对应的模拟路径;
在所述前端工程项目中调用每条所述模拟路径得到调用结果,将所述待测试数据、所述模拟路径以及所述调用结果组合为模拟信息,并将所述模拟信息添加至模拟接口文档中;
将所述后端接口文档与所述模拟接口文档进行比对;
若所述后端接口文档中的每个所述预期结果与所述模拟接口文档中对应的所述调用结果均相同,则将所述前端工程项目的所述应用代码中的所有所述模拟路径均更新为所述待测试路径。
9.如权利要求8所述的终端设备,其特征在于,所述在所述模拟服务器中创建所有所述待测试数据,包括:
部署Swagger服务,并基于所述Swagger服务创建包含所述待测试数据的数据文件;
将所有所述数据文件均关联至所述模拟服务器。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述接口测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910522819.7A CN110377462B (zh) | 2019-06-17 | 2019-06-17 | 接口测试方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910522819.7A CN110377462B (zh) | 2019-06-17 | 2019-06-17 | 接口测试方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377462A true CN110377462A (zh) | 2019-10-25 |
CN110377462B CN110377462B (zh) | 2023-07-21 |
Family
ID=68249551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910522819.7A Active CN110377462B (zh) | 2019-06-17 | 2019-06-17 | 接口测试方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377462B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831565A (zh) * | 2020-07-16 | 2020-10-27 | 郑州信大捷安信息技术股份有限公司 | 基于软件测试或开发用的模拟服务构建方法和系统 |
CN112199112A (zh) * | 2020-09-30 | 2021-01-08 | 京东数字科技控股股份有限公司 | 自动配置模拟服务的方法、装置、终端设备及存储介质 |
CN112559350A (zh) * | 2020-12-16 | 2021-03-26 | 杭州数梦工场科技有限公司 | 前端开发页面的调试方法、装置、设备及存储介质 |
CN112783776A (zh) * | 2021-01-27 | 2021-05-11 | 上海淇玥信息技术有限公司 | 一种基于接口路由的测试方法、装置和电子设备 |
CN113297072A (zh) * | 2021-05-17 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 容器测试方法及装置 |
CN113657694A (zh) * | 2020-05-12 | 2021-11-16 | 鸿富锦精密电子(天津)有限公司 | 测试路径统筹方法、电子设备及存储介质 |
CN113760774A (zh) * | 2021-09-28 | 2021-12-07 | 中汽创智科技有限公司 | 一种ota仿真测试方法、平台及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083213A1 (en) * | 2000-09-18 | 2002-06-27 | Oberstein Brien M. | Method and system for simulating and certifying complex business applications |
CN101286131A (zh) * | 2007-04-09 | 2008-10-15 | 国际商业机器公司 | 服务测试方法和服务测试系统 |
CN103312554A (zh) * | 2012-03-16 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种多服务器交互业务的测试方法及系统 |
CN104615534A (zh) * | 2015-01-28 | 2015-05-13 | 广州酷狗计算机科技有限公司 | 接口测试方法和装置 |
CN108183962A (zh) * | 2018-01-04 | 2018-06-19 | 上海瀚之友信息技术服务有限公司 | 一种模拟测试系统 |
-
2019
- 2019-06-17 CN CN201910522819.7A patent/CN110377462B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083213A1 (en) * | 2000-09-18 | 2002-06-27 | Oberstein Brien M. | Method and system for simulating and certifying complex business applications |
CN101286131A (zh) * | 2007-04-09 | 2008-10-15 | 国际商业机器公司 | 服务测试方法和服务测试系统 |
CN103312554A (zh) * | 2012-03-16 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种多服务器交互业务的测试方法及系统 |
CN104615534A (zh) * | 2015-01-28 | 2015-05-13 | 广州酷狗计算机科技有限公司 | 接口测试方法和装置 |
CN108183962A (zh) * | 2018-01-04 | 2018-06-19 | 上海瀚之友信息技术服务有限公司 | 一种模拟测试系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657694A (zh) * | 2020-05-12 | 2021-11-16 | 鸿富锦精密电子(天津)有限公司 | 测试路径统筹方法、电子设备及存储介质 |
CN113657694B (zh) * | 2020-05-12 | 2023-10-13 | 富联精密电子(天津)有限公司 | 测试路径统筹方法、电子设备及存储介质 |
CN111831565A (zh) * | 2020-07-16 | 2020-10-27 | 郑州信大捷安信息技术股份有限公司 | 基于软件测试或开发用的模拟服务构建方法和系统 |
CN111831565B (zh) * | 2020-07-16 | 2022-04-08 | 郑州信大捷安信息技术股份有限公司 | 基于软件测试或开发用的模拟服务构建方法和系统 |
CN112199112A (zh) * | 2020-09-30 | 2021-01-08 | 京东数字科技控股股份有限公司 | 自动配置模拟服务的方法、装置、终端设备及存储介质 |
CN112559350A (zh) * | 2020-12-16 | 2021-03-26 | 杭州数梦工场科技有限公司 | 前端开发页面的调试方法、装置、设备及存储介质 |
CN112783776A (zh) * | 2021-01-27 | 2021-05-11 | 上海淇玥信息技术有限公司 | 一种基于接口路由的测试方法、装置和电子设备 |
CN113297072A (zh) * | 2021-05-17 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 容器测试方法及装置 |
CN113297072B (zh) * | 2021-05-17 | 2023-11-03 | 阿里巴巴新加坡控股有限公司 | 容器测试方法及装置 |
CN113760774A (zh) * | 2021-09-28 | 2021-12-07 | 中汽创智科技有限公司 | 一种ota仿真测试方法、平台及系统 |
CN113760774B (zh) * | 2021-09-28 | 2023-10-27 | 中汽创智科技有限公司 | 一种ota仿真测试方法、平台及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110377462B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377462A (zh) | 接口测试方法、装置及终端设备 | |
CN109634598A (zh) | 一种页面显示方法、装置、设备及存储介质 | |
CN109614102A (zh) | 代码自动生成方法、装置、电子设备及存储介质 | |
CN108958736A (zh) | 页面生成方法、装置、电子设备及计算机可读介质 | |
CN110019080A (zh) | 数据访问方法和装置 | |
CN109814524A (zh) | 一种车辆诊断方法、装置及系统 | |
CN110866029B (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
CN107741904A (zh) | 测试机自动配置方法、装置、设备及存储介质 | |
CN108958744A (zh) | 大数据分布式集群的部署方法、装置、介质及电子设备 | |
CN115328465A (zh) | 一种基于低代码的多目标优化平台及其建立方法 | |
CN110390493A (zh) | 任务管理方法、装置、存储介质及电子设备 | |
CN112764751A (zh) | 接口生成方法和装置、接口请求方法和装置及存储介质 | |
CN110019158A (zh) | 一种监控数据质量的方法和装置 | |
CN110825395B (zh) | 多插件分层部署系统、设备及介质 | |
CN109271160A (zh) | 活动规则组建方法、装置和计算机系统、介质 | |
CN109960639A (zh) | 一种生成测试用例的方法和装置 | |
CN114896003A (zh) | 页面的配置方法和装置、存储介质及电子装置 | |
CN109669678A (zh) | 模板引擎整合方法、装置、电子设备及存储介质 | |
CN109522282A (zh) | 图片管理方法、装置、计算机装置及存储介质 | |
CN108959294A (zh) | 一种访问搜索引擎的方法和装置 | |
CN106547835A (zh) | 调用数据库存储过程的方法及装置 | |
CN108536447B (zh) | 运维管理方法 | |
CA2538861C (en) | System and method for building a deployable component based application | |
CN114564855B (zh) | 基于fmea数据节点的关联关系的操作方法及电子设备 | |
CN110209744A (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 |