CN112131127B - 接口测试方法、装置、系统及电子设备 - Google Patents

接口测试方法、装置、系统及电子设备 Download PDF

Info

Publication number
CN112131127B
CN112131127B CN202011044852.2A CN202011044852A CN112131127B CN 112131127 B CN112131127 B CN 112131127B CN 202011044852 A CN202011044852 A CN 202011044852A CN 112131127 B CN112131127 B CN 112131127B
Authority
CN
China
Prior art keywords
test
interface
target
parameters
file
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.)
Active
Application number
CN202011044852.2A
Other languages
English (en)
Other versions
CN112131127A (zh
Inventor
刘清洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tongbang Zhuoyi Technology Co ltd
Original Assignee
Beijing Tongbang Zhuoyi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Tongbang Zhuoyi Technology Co ltd filed Critical Beijing Tongbang Zhuoyi Technology Co ltd
Priority to CN202011044852.2A priority Critical patent/CN112131127B/zh
Publication of CN112131127A publication Critical patent/CN112131127A/zh
Application granted granted Critical
Publication of CN112131127B publication Critical patent/CN112131127B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种接口测试方法、装置、系统及电子设备,其中,该方法包括:获取目标接口的测试任务指令,其中,测试任务指令包括目标接口的多个接口测试参数;拼接与多个测试参数对应的多个测试源文件,得到目标测试源文件,其中,多个测试源文件与多个测试参数一一对应;生成与目标测试源文件对应的测试执行文件;使用测试执行文件对目标接口进行测试,得到目标接口的测试结果。从而可以实现不仅无需编写测试脚本的代码,同时也可以更为灵活的拼接具有不同测试参数的接口的测试源文件的目的,达到了无需编写测试任务脚本代码,无需编制测试模板,进而解决了相关技术中存在的在对接口进行测试时效率低下的问题。

Description

接口测试方法、装置、系统及电子设备
技术领域
本申请涉及测试技术领域,尤其涉及一种接口测试方法、装置、系统及电子设备。
背景技术
随着网络技术的迅速发展,越来越多的软件开始走进人们的视线中,而业务的不断发展,使得各个软件项目需要不断地迭代更新,因此,对于软件项目的性能测试以及接口测试的需求变得极为频繁。
现有的接口测试系统,通常选择是java+testng或groovy+spock或python+httpclient技术通过编写代码方式执行接口自动化测试,编写测试代码一方面对于很多不具备开发能力的测试人员是无法实现此场景的测试任务的,需要具有代码编写能力的人编写。然而,对于日益复杂的业务系统,其涉及的接口数量庞大,逐一编写脚本代码进行接口测试极大影响了接口测试的效率。
因此,相关技术中存在对接口进行测试时效率低下的问题。
发明内容
本申请提供了一种接口测试方法、装置、系统及电子设备,以至少解决相关技术中存在对接口进行测试时效率低下的问题。
根据本申请实施例的一个方面,提供了一种接口测试方法,包括:获取目标接口的测试任务指令,其中,所述测试任务指令包括所述目标接口的多个接口测试参数;拼接与所述多个测试参数对应的多个测试源文件,得到目标测试源文件,其中,所述多个测试源文件与所述多个测试参数一一对应;生成与所述目标测试源文件对应的测试执行文件;使用所述测试执行文件对所述目标接口进行测试,得到所述目标接口的测试结果。
可选地,在所述拼接与所述多个测试参数对应的多个测试源文件,得到目标测试源文件之前,所述方法还包括:解析所述测试任务指令,得到所述多个接口测试参数,其中,所述多个接口测试参数包括以下至少之一:接口名称,测试方法,接口的入参,期望出参,目标校验规则,所述目标校验规则用于利用所述期望出参对测试得到的实际出参进行校验;从目标数据库中获取与所述多个接口测试参数中的每个接口测试参数所对应的测试源文件,得到所述多个测试源文件。
可选地,在所述目标接口的数量为多个的情况下,所述测试任务指令还包括多个所述目标接口之间的测试逻辑;在所述生成与所述目标测试源文件对应的测试执行文件之后,所述方法还包括:按照所述测试逻辑拼接每个所述目标接口的所述测试执行文件,得到目标测试执行文件。
可选地,所述使用所述测试执行文件对所述目标接口进行测试,得到所述目标接口的测试结果包括:执行所述测试执行文件,得到所述目标接口的实际出参;比较所述实际出参和所述目标接口的期望出参,得到所述目标接口的所述测试结果,其中,所述多个接口测试参数包括所述期望出参。
可选地,在所述获取接口测试请求之前,所述方法还包括:通过目标客户端获取目标对象输入的所述多个接口测试参数;检测到对所述目标客户端执行的目标操作,其中,所述目标操作用于触发生成所述目标接口的测试请求;响应所述目标操作,生成所述测试请求,其中,所述测试请求中携带有所述多个接口测试参数;将所述测试请求发送给调度中心,以通过所述调度中心将所述测试请求转换为所述测试任务指令。
根据本申请实施例的另一个方面,还提供了一种接口测试装置,包括:获取模块,用于获取目标接口的测试任务指令,其中,所述测试任务指令包括所述目标接口的多个接口测试参数;拼接模块,用于拼接与所述多个测试参数对应的多个测试源文件,得到目标测试源文件,其中,所述多个测试源文件与所述多个测试参数一一对应;生成模块,用于生成与所述目标测试源文件对应的测试执行文件;测试模块,用于使用所述测试执行文件对所述目标接口进行测试,得到所述目标接口的测试结果。
根据本申请实施例的又一个方面,还提供了一种接口测试系统,包括:测试前端,用于执行通过目标客户端获取目标对象输入的所述多个接口测试参数;检测到对所述目标客户端执行的目标操作,其中,所述目标操作用于触发生成所述目标接口的测试请求;响应所述目标操作,生成所述测试请求,其中,所述测试请求中携带有所述多个接口测试参数;将所述测试请求发送给调度中心,以通过所述调度中心将所述测试请求转换为所述测试任务指令;调度中心,用于将所述测试请求转换为所述测试任务指令;测试后端,用于执行上述第一方面中任一项所述的接口测试方法。
可选地,接口测试系统还包括:数据库,分别与所述客户端、调度中心和所述服务端通信,用于存储所述目标测试源文件。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,所述存储器,用于存储计算机程序;所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述第一方面中任一项所述的接口测试方法。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述第一方面中任一项所述的接口测试方法。
在本申请实施例中,采用获取目标接口的测试任务指令,所述测试任务指令包括所述目标接口的多个接口测试参数,将各个参数对应的测试源文件进行拼接得到目标测试文件,并基于目标测试文件生成测试执行文件对目标接口进行测试的方式,由于每一接口参数对应一个测试源文件,在对目标进行测试前,基于接口测试参数调度测试源文件,并以拼接的方式组合成测试源文件,从而可以实现不仅无需编写测试脚本的代码,同时也可以更为灵活的拼接具有不同测试参数的接口的测试源文件的目的,达到了无需编写测试任务脚本代码、无需编制测试模板、对接口的测试适用范围更广、极大地提高测试效率的技术效果,进而解决了相关技术中存在的在对接口进行测试时效率低下的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种可选的接口测试方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的接口测试方法的流程示意图;
图3是根据本申请实施例的一种可选的接口测试方法的示意图;
图4是根据本申请实施例的另一种可选的接口测试方法的流程示意图;
图5是根据本申请实施例的一种可选的接口测试装置的结构框图;
图6是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
1、xml(Extensible Markup Language,可扩展标记语言),为标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
2、Testng(Testing Next Gerneration,下一代测试技术)插件或者testNG基础上的二次封装工具插件,testNG是一种开源工具,根据JUnit和Nunit思想而构建的利用注释来强化测试功能的测试框架。这种集成能够实现测试用例与测试代码分离,并且由测试用例驱动测试代码的运行。
参见图1,本申请提出了一种接口测试方法,可选地,在本实施例中,上述接口方法可以应用于如图1所示的由测试前端101,调度中心102和测试后端103所构成的硬件环境中。如图1所示,测试后端103通过网络与调度中心102,测试前端101通过网络与调度中心102连接,进行连接,可用于为终端或终端上安装的客户端或跳读中心提供服务(如测试服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为测试后端103提供数据存储服务,还可以用于处理云服务,上述网络包括但不限于:广域网、城域网或局域网,测试前端101并不限定于PC、手机、平板电脑等。本申请实施例的接口测试方法可以由测试后端103来执行,还可以是由测试后端103和测试前端101共同执行。其中,在本实施例中,可以以测试后端103执行本申请实施例的接口测试方法为例进行说。
其中,测试前端101用于通过目标客户端获取目标对象输入的多个接口测试参数;例如:接口名称、测试方法、接口的入参和期望出参及期望出参与实际出参校验规则等参数,
检测到对目标客户端执行的目标操作,其中,目标操作用于触发生成目标接口的测试请求;示例性的,目标操作可以为手动触发或定时任务触发操作。响应目标操作,生成测试请求,其中,测试请求中携带有多个接口测试参数;将测试请求发送给调度中心,以通过调度中心102将测试请求转换为测试任务指令,调度中心102将测试请求中的接口测试参数拼接生成测试任务指令,示例性的,在测试请求通过校验之后,解析接口测试参数,触发python脚本,将接口测试参数拼接到http请求中,向服务器发送测试任务指令,服务端在接收到测试任务指令后,通过解析与再次校验后,得到接口测试参数,并基于测试任务指令库调取具体测试代码,拼接为testng文件,对接口进行测试,具体的,以由测试后端来执行本实施例中的接口方法为例,图2是根据本申请实施例的一种可选的接口测试方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤S101,获取目标接口的测试任务指令。测试任务指令包括目标接口的多个接口测试参数。在本实施例中,所称的测试任务指令可以为调度中心发送测试任务指令,该测试任务指令基于用户在客户端输入的接口测试参数生成的。其包含了用户实现配置的接口的相关参数,具体的可以包括,接口标识信息,接口名称,测试方法,接口的入参,期望出参,目标校验规则,目标校验规则用于利用期望出参对测试得到的实际出参进行校验。测试后盾在接收到接口测试请求后,从中提取目标接口的信息,例如,接口标识信息,并确定目标接口。
步骤S102,拼接与多个测试参数对应的多个测试源文件,得到目标测试源文件。其中,多个测试源文件与多个测试参数一一对应。作为示例性的实施例,测试源文件可以采用JAVA源文件,具体的,可以基于测试任务指令中的接口测试参数,例如接口标识信息,在数据库中调用与接口参数对应的具体的参数值和文件,例如,与接口对应的具体的JAVA类和方法。示例性的,可以基于测试任务指令中的接口测试参数在数据库中遍历所有的JAVA源文件,查找与接口测试参数对应的JAVA源文件作为测试源文件,其中,不同的测试源文件可以表征不同的测试参数,也可以不同的接口。作为示例性的实施例,多个测试源文件表征不同的测试参数时,可以拼接成一个接口的目标测试源文件;多个测试源文件表征不同的接口测试文件时,可以拼接成一个目标测试源文件作为多个接口测试的集合文件。示例性的,以多个接口为例,在得到测试源文件后,解析测试源文件的类、方法。在得到多个接口对应的测试源文件的类和方法,拼接测试源文件的类、方法得到目标接口对应的目标测试源文件。
步骤S103,生成与目标测试源文件对应的测试执行文件。作为示例性的实施例,测试执行文件是针对接口进行测试任务的测试文件,通过执行接口的测试执行文件可以实现对接口进行相关测试。测试执行文件也可以为测试用例,在获取到测试任务指令之后,可以根据测试任务指令中包括的接口测试参数拼接测试执行文件,从而得到所需的接口测试用例。在一个具体应用中,测试任务指令可以包括用于表征接口名称、接口标识信息、测试方法、接口的入参、期望出参及目标校验规则的标识或指示信息,示例性的,例如,可以通过接口标识信息在数据库中调取接口期望出参、接口的入参和目标校验规则等,并将调取的参数进行赋参,例如,将接口的入参作为测试执行文件的入参项,期望出参作为测试执行文件的出参项,并以此方式,将从数据库中获取的接口参数对应的测试源文件按照测试文件的格式拼接为测试执行文件,以对接口执行测试任务。在具体应用中,可以通过TestNG插件、Ant脚本或Jenkins工具来执行获得的接口测试用例。在本实施例中,可以以TestNG为例进行说明,在得到目标测试源文件之后,示例性的,目标测试文件以JAVA源文件为例进行说明,将目标测试源文件通过动态编译生成测试执行文件,例如class文件,加载到内存中。并基于依据测试文件的格式,将编译后的JAVA源文件的类和方法拼接成TestNG的xml文件,从而得到可供TestNG插件执行的测试执行文件。
步骤S104,使用测试执行文件对目标接口进行测试,得到目标接口的测试结果。作为示例性的实施例,获得测试执行文件之后,执行该接口测试执行文件以实现对待测试接口的自动化测试,最终得到接口测试结果。即执行测试执行文件之后得到实际出参。将实际出参与期望出参进行对比得到对比结果,该对比结果可以作为接口测试结果。若对比结果成功,则接口测试成功,若对比结果失败,则接口测试失败,从而实现对待测试接口的快速自动化测试。以testng插件为例,在得到拼接成TestNG的xml文件之后,执行testng的run方法运行xml文件,在执行的过程中,采用目标校验规则对期望出参与实际出参进行校验,并将校验后的结果展示在testng报告中,可以将报告通过邮件或返回客户端的形式告知操作者。
在本申请实施例中,采用获取目标接口的测试任务指令,测试任务指令包括目标接口的多个接口测试参数,将各个参数对应的测试源文件进行拼接得到目标测试文件,并基于目标测试文件生成测试执行文件对目标接口进行测试的方式,由于每一接口参数对应一个测试源文件,在对目标进行测试前,基于接口测试参数调度测试源文件,并以拼接的方式组合成测试源文件,从而可以实现不仅无需编写测试脚本的代码,同时也可以更为灵活的拼接具有不同测试参数的接口的测试源文件的目的,达到了无需编写测试任务脚本代码、无需编制测试模板、对接口的测试适用范围更广,极大地提高测试效率的技术效果,进而解决了相关技术中存在的在对接口进行测试时效率低下的问题。
作为一种可选的实施例,在接口为多个时,测试请求还包括接口之间的测试逻辑;所称测试逻辑包括接口测试顺序,接口测试之间的跳转条件等。在生成测试执行文件之后,本可选地实施例还可以基于多个接口之间的测试逻辑拼接测试任务中多个接口目标测试文件,具体的,可以按照测试逻辑拼接每个目标接口的测试执行文件,得到目标测试执行文件。具体的,测试执行文件的执行可以对一个对应的接口进行测试,不同的接口之间具有多种测试逻辑,例如,顺序依次执行,跳序执行或者基于不同的测试结果跳转到不同的下一接口进行测试等测试逻辑,以以testng插件为例,在得到拼接成TestNG的xml文件之后,即得到测试执行文件之后,可以获取接口之间的测试逻辑,并基于该测试逻辑将多个TestNG的xml文件进行拼接组合,形成一个测试执行文件集即目标测试文件,在一个TestNG的xml文件执行之后,可以按照该测试逻辑执行下一TestNG的xml文件。
通过本实施例,通过按照接口测试逻辑对测试执行文件进行拼接得到目标测试文件,可以按照预设的执行逻辑自动对多个接口进行测试,提高了测试效率。
下面结合可选示例对本申请实施例中的使用测试执行文件对目标接口进行测试,得到目标接口的测试结果方法进行解释说明。在本示例中,在得到测试执行文件之后,执行测试文件进而对目标接口进行测试,在执行的过程中,依据接口的测试参数,例如,接口入参对接口和测试方法等得到接口实际出参,并对实际出参进行校验,进而得到测试结果。具体的可以参见图3所示的步骤:
步骤S301,执行测试执行文件,得到目标接口的实际出参。示例性的,在测试执行文件中包括入参项以及具体的入参参数,测试方法以及具体的测试方法参数,采用测试方法执行入参参数,最终可以得到实际出参。
步骤S302,比较实际出参和目标接口的期望出参,得到目标接口的测试结果,其中,多个接口测试参数包括期望出参。期望出参可以预先从接口测试参数中导出或从目标数据库中调度期望出参的具体的值,构建对应的结果验证数据集,并将接口执行结果与结果验证数据集中的结果验证数据进行比较而得到接口测试结果。作为可选的实施例,接口测试为功能测试,通过比较接口执行结果和预先设置的期望出参,根据比较结果可以确定接口测试结果为是否满足接口功能需求。在具体应用中,可以对多次执行不同的接口测试执行文件,统计接口测试的成功率,可以避免异常的接口执行结果导致接口测试结果的偏差问题。
如图4所示,本可选示例中的接口测试方法可以基于测试前端实现,具体的,参见图4,测试前端所实现的流程可以包括以下步骤:
步骤S401,通过目标客户端获取目标对象输入的多个接口测试参数。所称目标客户端可以安装在测试前端的应用程序,示例性的,该目标客户端可以web界面,可以为EXCEL表格等可以通过人或自动导入为输入的接口,以实现通过人为或自动导入的方式在目标客户端输入接口测试参数即接口测试的配置数据。在本实施例中,所称的接口测试参数可以为测试后端在数据库中查找接口测试参数具体值或文件的标识/指示信息。
步骤S402,检测到对目标客户端执行的目标操作,其中,目标操作用于触发生成目标接口的测试请求。作为示例性的实施例,在得到接口测试参数后,可以实时监测与接口测试参数相关的操作,例如,人为触发操作或者定时任务触发操作,示例性的,若一些接口需要在特定时间点进行测试,则可以设置定时任务触发作为目标操作。若接口测试需要立即执行则可以人为触发作为目标操作。
步骤S403,响应目标操作,生成测试请求,其中,测试请求中携带有多个接口测试参数。在获取到目标操作时,可以依据目标操作所指示的指令,进行相应,例如,将测试参数进行拼接、封装等并生成测试请求,该测试请求可以为基于目标操作的触发而生成的指令。
步骤S404,将测试请求发送给调度中心,以通过调度中心将测试请求转换为测试任务指令。
通过本示例,在测试前端可以通过目标对象输入接口测试参数,检测到目标操作之后,并基于目标操作将接口测试参数生成测试测试请求,并发送至调度中心,因此,无需人为编写测试任务脚本代码,只需通过输入目标接口对应的测试参数即可得到测试请求,并基于测试请求得到测试任务指令,进而测试后端基于测试任务指令,调取相关接口测试参数对应的测试源文件,并编译成测试执行文件,对目标接口进行测试,从而实现无需编写代码的接口自动化测试。
作为示例性的实施例,调度中心所执行的测试方法具体的可以为,调度中心可以对应多个测试前端,不同的测试前端可以发送测试请求,测试请求包含有与测试前端的目标接口对应的测试参数。调度中心在接收到的测试前端测试请求之后,对测试请求进行解析得到接口测试参数,并对接口测试参数校验,校验规则可以包括必传项不能为空,例如操作目标对象、接口标识等,校验参数类型是否合规,例如接口标识必须为数字,接口类型必须为规定的类型等;参数校验通过后,可以通过调度中心触发python脚本,将接口测试参数拼接到http请求中,作为测试任务指令,并向测试后端发送测试任务指令。作为示例性的实施例,调度中心可以基于jenkins衔接测试前端和测试后端,使得测试前端可测试后端分离,测试前后端的动作可以相互不影响。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述接口测试方法的接口测试装置。图5是根据本申请实施例的一种可选的接口测试装置的示意图,如图5所示,该装置可以包括:
获取模块501,用于获取目标接口的测试任务指令,其中,测试任务指令包括目标接口的多个接口测试参数;
拼接模块502,与获取模块501连接,用于拼接与多个测试参数对应的多个测试源文件,得到目标测试源文件,其中,多个测试源文件与多个测试参数一一对应;
生成模块503,与拼接模块502连接,用于生成与目标测试源文件对应的测试执行文件;
测试模块504,与生成模块503连接,用于使用测试执行文件对目标接口进行测试,得到目标接口的测试结果。
需要说明的是,该实施例中的获取模块501可以用于执行上述步骤S201,该实施例中的拼接模块502可以用于执行上述步骤S202,该实施例中的生成模块503可以用于执行上述步骤S203,该实施例中的测试模块504可以用于执行上述步骤S204。
通过上述模块,采用获取目标接口的测试任务指令,测试任务指令包括目标接口的多个接口测试参数,将各个参数对应的测试源文件进行拼接得到目标测试文件,并基于目标测试文件生成测试执行文件对目标接口进行测试的方式,由于每一接口参数对应一个测试源文件,在对目标进行测试前,基于接口测试参数调度测试源文件,并以拼接的方式组合成测试源文件,从而可以实现不仅无需编写测试脚本的代码,同时也可以更为灵活的拼接具有不同测试参数的接口的测试源文件的目的,达到了无需编写测试任务脚本代码、无需编制测试模板、对接口的测试适用范围更广、极大地提高测试效率的技术效果,进而解决了相关技术中存在的在对接口进行测试时效率低下的问题。
作为一种可选的实施例,接口测试装置还包括:解析模块,用于解析测试任务指令,得到多个接口测试参数,其中,多个接口测试参数包括以下至少之一:接口名称,测试方法,接口的入参,期望出参,目标校验规则,目标校验规则用于利用期望出参对测试得到的实际出参进行校验;
调取模块,用于从目标数据库中获取与多个接口测试参数中的每个接口测试参数所对应的测试源文件,得到多个测试源文件。
作为一种可选的实施例,在目标接口的数量为多个的情况下,测试任务指令还包括多个目标接口之间的测试逻辑;接口测试装置还包括:测试执行文件拼接模块,用于按照测试逻辑拼接每个目标接口的测试执行文件,得到目标测试执行文件。
作为一种可选的实施例,测试模块还包括:执行单元,用于执行测试执行文件,得到目标接口的实际出参;
校验单元,用于比较实际出参和目标接口的期望出参,得到目标接口的测试结果,其中,多个接口测试参数包括期望出参。
接口测试装置还包括:
前端获取模块,用于通过目标客户端获取目标对象输入的多个接口测试参数;
前端检测模块,用于检测到对目标客户端执行的目标操作,其中,目标操作用于触发生成目标接口的测试请求;
前端响应模块,用于响应目标操作,生成测试请求,其中,测试请求中携带有多个接口测试参数;
前端发送模块,用于将测试请求发送给调度中心,以通过调度中心将测试请求转换为测试任务指令。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述接口测试方法的电子设备,该电子设备可以是服务器、终端、或者其组合。
图6是根据本申请实施例的一种可选的电子设备的结构框图,如图6所示,包括处理器602、通信接口604、存储器606和通信总线608,其中,处理器602、通信接口604和存储器606通过通信总线608完成相互间的通信,其中,
存储器606,用于存储计算机程序;
处理器602,用于执行存储器606上所存放的计算机程序时,实现如下步骤:
S1,获取目标接口的测试任务指令;
S2,拼接与多个测试参数对应的多个测试源文件,得到目标测试源文件;
S3,生成与目标测试源文件对应的测试执行文件;
S4,使用测试执行文件对目标接口进行测试,得到目标接口的测试结果。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,如图6所示,上述存储器602中可以但不限于包括上述接口测试装置中的获取模块501,拼接模块502,生成模块503,测试模块504。此外,还可以包括但不限于上述接口测试装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图6所示的结构仅为示意,实施上述接口测试方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图6其并不对上述电子装置的结构造成限定。例如,终端设备还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行设备投屏的方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取目标接口的测试任务指令;
S2,拼接与多个测试参数对应的多个测试源文件,得到目标测试源文件;
S3,生成与目标测试源文件对应的测试执行文件;
S4,使用测试执行文件对目标接口进行测试,得到目标接口的测试结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
根据本实施例另一方面,本发明实施例提供了一种接口测试系统,该测试系统可以包括:测试前端,用于执行上述实施例中的测试前端所执行的接口测试方法;
调度中心,用于将测试请求转换为测试任务指令;测试后端,用于执行测试后端所执行的接口测试方法。
数据库,分别与测试前端、调度中心和测试后端通信,用于存储测试源文件。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (8)

1.一种接口测试方法,其特征在于,包括:
获取目标接口的测试任务指令,其中,所述测试任务指令包括所述目标接口的多个接口测试参数;
拼接与所述多个接口测试参数对应的多个测试源文件,得到目标测试源文件,其中,所述多个测试源文件与所述多个接口测试参数一一对应;
生成与所述目标测试源文件对应的测试执行文件;
使用所述测试执行文件对所述目标接口进行测试,得到所述目标接口的测试结果;
其中,所述使用所述测试执行文件对所述目标接口进行测试,得到所述目标接口的测试结果包括:
执行所述测试执行文件,得到所述目标接口的实际出参;
比较所述实际出参和所述目标接口的期望出参,得到所述目标接口的所述测试结果,其中,所述多个接口测试参数包括所述期望出参;
其中,在所述拼接与所述多个接口测试参数对应的多个测试源文件,得到目标测试源文件之前,所述方法还包括:
解析所述测试任务指令,得到所述多个接口测试参数,其中,所述多个接口测试参数包括以下至少之一:接口名称,测试方法,接口的入参,期望出参,目标校验规则,所述目标校验规则用于利用所述期望出参对测试得到的实际出参进行校验;
从目标数据库中获取与所述多个接口测试参数中的每个接口测试参数所对应的测试源文件,得到所述多个测试源文件。
2.如权利要求1所述的接口测试方法,其特征在于,在所述目标接口的数量为多个的情况下,所述测试任务指令还包括多个所述目标接口之间的测试逻辑;
在所述生成与所述目标测试源文件对应的测试执行文件之后,所述方法还包括:
按照所述测试逻辑拼接每个所述目标接口的所述测试执行文件,得到目标测试执行文件。
3.如权利要求1至2中任一项所述的接口测试方法,其特征在于,在所述获取目标接口的测试任务指令之前,所述方法还包括:
通过目标客户端获取目标对象输入的所述多个接口测试参数;
检测到对所述目标客户端执行的目标操作,其中,所述目标操作用于触发生成所述目标接口的测试请求;
响应所述目标操作,生成所述测试请求,其中,所述测试请求中携带有所述多个接口测试参数;
将所述测试请求发送给调度中心,以通过所述调度中心将所述测试请求转换为所述测试任务指令。
4.一种接口测试装置,其特征在于,包括:
获取模块,用于获取目标接口的测试任务指令,其中,所述测试任务指令包括所述目标接口的多个接口测试参数;
拼接模块,用于拼接与所述多个接口测试参数对应的多个测试源文件,得到目标测试源文件,其中,所述多个测试源文件与所述多个接口测试参数一一对应;
生成模块,用于生成与所述目标测试源文件对应的测试执行文件;
测试模块,用于使用所述测试执行文件对所述目标接口进行测试,得到所述目标接口的测试结果;
其中,所述测试模块用于:
执行所述测试执行文件,得到所述目标接口的实际出参;
比较所述实际出参和所述目标接口的期望出参,得到所述目标接口的所述测试结果,其中,所述多个接口测试参数包括所述期望出参;
其中,所述装置还用于:
解析所述测试任务指令,得到所述多个接口测试参数,其中,所述多个接口测试参数包括以下至少之一:接口名称,测试方法,接口的入参,期望出参,目标校验规则,所述目标校验规则用于利用所述期望出参对测试得到的实际出参进行校验;
从目标数据库中获取与所述多个接口测试参数中的每个接口测试参数所对应的测试源文件,得到所述多个测试源文件。
5.一种接口测试系统,其特征在于,包括:
测试前端,用于执行如权利要求3所述的接口测试方法;
调度中心,用于将所述测试请求转换为所述测试任务指令;
测试后端,用于执行权利要求1至2中任一项所述的接口测试方法。
6.如权利要求5所述的接口测试系统,其特征在于,还包括:
数据库,分别与所述测试前端、调度中心和所述测试后端通信,用于存储所述测试源文件。
7.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
所述存储器,用于存储计算机程序;
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至3中任一项所述的接口测试方法步骤。
8.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至3中任一项中所述的接口测试方法步骤。
CN202011044852.2A 2020-09-28 2020-09-28 接口测试方法、装置、系统及电子设备 Active CN112131127B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011044852.2A CN112131127B (zh) 2020-09-28 2020-09-28 接口测试方法、装置、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011044852.2A CN112131127B (zh) 2020-09-28 2020-09-28 接口测试方法、装置、系统及电子设备

Publications (2)

Publication Number Publication Date
CN112131127A CN112131127A (zh) 2020-12-25
CN112131127B true CN112131127B (zh) 2024-04-16

Family

ID=73844510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011044852.2A Active CN112131127B (zh) 2020-09-28 2020-09-28 接口测试方法、装置、系统及电子设备

Country Status (1)

Country Link
CN (1) CN112131127B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407449A (zh) * 2021-03-29 2021-09-17 广州海量数据库技术有限公司 一种接口测试方法以及装置
CN113986753A (zh) * 2021-11-10 2022-01-28 中国银行股份有限公司 接口测试方法、装置、设备及存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354634A (zh) * 2016-08-25 2017-01-25 青岛海信传媒网络技术有限公司 接口测试方法及装置
CN107368420A (zh) * 2017-07-27 2017-11-21 万帮充电设备有限公司 Api测试方法、装置及电子设备
CN108446221A (zh) * 2018-03-05 2018-08-24 平安普惠企业管理有限公司 系统测试方法、装置、计算机设备和存储介质
CN109558290A (zh) * 2018-11-12 2019-04-02 平安科技(深圳)有限公司 服务器、接口自动化测试方法及存储介质
CN109947646A (zh) * 2019-03-13 2019-06-28 平安信托有限责任公司 接口测试方法、装置、计算机设备和存储介质
CN109992508A (zh) * 2019-03-22 2019-07-09 恒生电子股份有限公司 测试用例自动化生成方法、装置和电子设备
CN110109817A (zh) * 2019-03-13 2019-08-09 深圳壹账通智能科技有限公司 接口自动化测试方法、装置、设备及存储介质
CN110221948A (zh) * 2019-04-18 2019-09-10 深圳壹账通智能科技有限公司 测试脚本生成方法、装置、计算机装置及存储介质
CN110232018A (zh) * 2019-05-17 2019-09-13 浙江数链科技有限公司 接口测试方法、装置、计算机设备
CN110750442A (zh) * 2019-09-06 2020-02-04 平安医疗健康管理股份有限公司 测试用例的生成方法、装置、设备及存储介质
CN110955600A (zh) * 2019-11-27 2020-04-03 中国银行股份有限公司 接口测试方法及装置
CN110990269A (zh) * 2019-11-26 2020-04-10 苏宁云计算有限公司 一种接口测试的方法、装置及系统
WO2020119434A1 (zh) * 2018-12-15 2020-06-18 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
WO2020155778A1 (zh) * 2019-02-03 2020-08-06 苏州市龙测智能科技有限公司 接口自动化测试方法、测试装置、测试设备及存储介质
CN111581083A (zh) * 2020-04-26 2020-08-25 北京字节跳动网络技术有限公司 一种接口测试方法、装置、电子设备及存储介质
CN111581076A (zh) * 2020-03-30 2020-08-25 平安科技(深圳)有限公司 系统代码的测试方法、装置、计算机设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959200B2 (en) * 2012-09-06 2018-05-01 Red Hat Israel, Ltd. User interface for composing test scenarios
US9218269B2 (en) * 2012-09-07 2015-12-22 Red Hat Israel, Ltd. Testing multiple target platforms
US10013339B2 (en) * 2015-12-30 2018-07-03 Cognizant Technology Solutions India Pvt. Ltd. System and method for automating testing without scripting
US10007597B2 (en) * 2016-09-23 2018-06-26 American Express Travel Related Services Company, Inc. Software testing management

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354634A (zh) * 2016-08-25 2017-01-25 青岛海信传媒网络技术有限公司 接口测试方法及装置
CN107368420A (zh) * 2017-07-27 2017-11-21 万帮充电设备有限公司 Api测试方法、装置及电子设备
CN108446221A (zh) * 2018-03-05 2018-08-24 平安普惠企业管理有限公司 系统测试方法、装置、计算机设备和存储介质
CN109558290A (zh) * 2018-11-12 2019-04-02 平安科技(深圳)有限公司 服务器、接口自动化测试方法及存储介质
WO2020119434A1 (zh) * 2018-12-15 2020-06-18 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
WO2020155778A1 (zh) * 2019-02-03 2020-08-06 苏州市龙测智能科技有限公司 接口自动化测试方法、测试装置、测试设备及存储介质
CN109947646A (zh) * 2019-03-13 2019-06-28 平安信托有限责任公司 接口测试方法、装置、计算机设备和存储介质
CN110109817A (zh) * 2019-03-13 2019-08-09 深圳壹账通智能科技有限公司 接口自动化测试方法、装置、设备及存储介质
CN109992508A (zh) * 2019-03-22 2019-07-09 恒生电子股份有限公司 测试用例自动化生成方法、装置和电子设备
CN110221948A (zh) * 2019-04-18 2019-09-10 深圳壹账通智能科技有限公司 测试脚本生成方法、装置、计算机装置及存储介质
CN110232018A (zh) * 2019-05-17 2019-09-13 浙江数链科技有限公司 接口测试方法、装置、计算机设备
CN110750442A (zh) * 2019-09-06 2020-02-04 平安医疗健康管理股份有限公司 测试用例的生成方法、装置、设备及存储介质
CN110990269A (zh) * 2019-11-26 2020-04-10 苏宁云计算有限公司 一种接口测试的方法、装置及系统
CN110955600A (zh) * 2019-11-27 2020-04-03 中国银行股份有限公司 接口测试方法及装置
CN111581076A (zh) * 2020-03-30 2020-08-25 平安科技(深圳)有限公司 系统代码的测试方法、装置、计算机设备和存储介质
CN111581083A (zh) * 2020-04-26 2020-08-25 北京字节跳动网络技术有限公司 一种接口测试方法、装置、电子设备及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
esign of WSN Signal Interface Conformance Test System Based on Web;Zhiyong Luo;《2015 International Conference on Network and Information Systems for Computers》;20160214;1-5 *
基于JUnit框架的接口测试系统研究与实现 左刚 中国科学院大学(工程管理与信息技术学院) 摘要:;左刚;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;1-50 *
基于Selenium的WEB功能自动化测试系统研究与实现;刘燚美;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20190115;I138-821 *
基于接口参数的列控中心测试用例生成算法;张盛;《计算机工程》;69-71 *
嵌入式装置可视化页面程序代码处理架构设计;刘国伟;《单片机与嵌入式系统应用》;20171231;1-5 *

Also Published As

Publication number Publication date
CN112131127A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN108415832B (zh) 接口自动化测试方法、装置、设备及存储介质
CN111045756B (zh) 生成接口服务的方法、装置、计算设备和介质
KR20080068385A (ko) 소프트웨어 테스트 시스템, 방법 및 그 방법을 실행하기위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
CN114546738B (zh) 服务器通用测试方法、系统、终端及存储介质
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN112131127B (zh) 接口测试方法、装置、系统及电子设备
CN102736975A (zh) 一种对可信计算密码支撑平台进行测试的测试方法及系统
CN110851471A (zh) 分布式日志数据处理方法、装置以及系统
KR20160000758A (ko) 품질테스트장치 및 방법
CN113377667B (zh) 一种基于场景的测试方法、装置、计算机设备及存储介质
CN111478969A (zh) 接口校验方法及装置
CN117370203B (zh) 自动化测试方法、系统、电子设备及存储介质
CN113094251B (zh) 嵌入式系统测试方法、装置、计算机设备和存储介质
CN113434405B (zh) 测试文件的确定方法及装置、存储介质及电子装置
CN110737426A (zh) 程序块创建方法、装置、计算机设备和存储介质
CN112860562B (zh) 自动化测试方法和装置
CN110618943B (zh) 安防服务测试方法、装置、电子设备及可读存储介质
CN114487842A (zh) 数据通路端到端测试方法、装置、计算机设备及存储介质
CN113419738A (zh) 接口文档的生成方法、装置及接口管理设备
CN110704307A (zh) 应用产品的测试方法、装置、用户设备及计算机存储介质
CN113010409B (zh) 智能合约测试方法及装置、电子设备、存储介质
CN112068878B (zh) 软件开发包状态检测方法、设备和存储介质
CN117539746A (zh) 接口自动化测试方法、系统、电子设备及存储介质
CN113434389A (zh) 数据验证方法及装置、存储介质、电子装置
CN117389866A (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