CN115454878A - 一种应用于微服务的接口调用测试方法及相关装置 - Google Patents

一种应用于微服务的接口调用测试方法及相关装置 Download PDF

Info

Publication number
CN115454878A
CN115454878A CN202211273759.8A CN202211273759A CN115454878A CN 115454878 A CN115454878 A CN 115454878A CN 202211273759 A CN202211273759 A CN 202211273759A CN 115454878 A CN115454878 A CN 115454878A
Authority
CN
China
Prior art keywords
interface
target
test
code
target interface
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.)
Pending
Application number
CN202211273759.8A
Other languages
English (en)
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202211273759.8A priority Critical patent/CN115454878A/zh
Publication of CN115454878A publication Critical patent/CN115454878A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • G06F11/3692Test management for test results analysis

Abstract

本申请提供了一种应用于微服务的接口调用测试方法及相关装置,该方法包括:基于目标接口的目标接口代码,得到目标接口参数文档,目标接口用于表示微服务中接口提供方提供的待测试交易接口,接口提供方用于表示微服务中提供交易接口的应用系统;基于目标接口代码和目标接口参数文档,自动生成目标测试接口代码,目标测试接口代码用于表示接口消费方对应的模拟接口代码,接口消费方用于表示微服务中调用交易接口的应用系统;基于目标测试接口代码和目标接口参数文档,自动生成目标测试脚本;采用接口测试工具执行目标测试脚本,得到目标接口的测试结果。通过上述方法能够自动生成目标测试接口代码和对应的目标测试脚本,实现目标接口的调用测试。

Description

一种应用于微服务的接口调用测试方法及相关装置
技术领域
本申请涉及接口测试技术领域,具体涉及一种应用于微服务的接口调用测试方法及相关装置。
背景技术
随着互联网技术的飞速发展,各个企业往往需要研发多个项目来完成各种业务,为了解决多个项目的更新迭代等问题,微服务架构得到了广泛的应用。
微服务架构是一种架构模式,是指将单一应用程序划分成一组小的服务,服务之间互相协调,互相配合,为用户提供最终价值。微服务架构在实际使用中采用分布式系统开发,即按模块拆分应用,实现多个应用的快速开发和部署。
在微服务架构中,通常需要调用很多服务才能完成一项功能,服务的调用一般通过API接口来实现,也就是说,在微服务架构中,消费方需要通过调用接口来访问提供方提供的服务,故为了保证提供方提供的服务能被正常调用,需要对提供方接口进行相应的调用测试。
相关技术中对微服务的接口调用测试主要是等消费方调用功能开发好后,通过消费方对应的功能测试同步实现服务方接口的调用测试。采用这种方法虽然能够得到服务方接口的调用测试结果,但是在微服务的实际使用过程中,经常会出现服务方接口已开发完成,而消费方并没有被同步开发出来的情况,这会导致服务方接口无法被及时调用,不利于微服务架构的开发应用。
发明内容
本申请实施例提供了一种应用于微服务的接口调用测试方法及相关装置,能够实现对微服务中的接口的自动调用测试。
有鉴于此,本申请实施例第一方面提供一种应用于微服务的接口调用测试方法,所述方法包括:
基于目标接口的目标接口代码,得到所述目标接口的目标接口参数文档,所述目标接口用于表示所述微服务中接口提供方提供的待测试交易接口,所述接口提供方用于表示所述微服务中提供交易接口的应用系统;
根据所述目标接口代码和所述目标接口参数文档,自动生成目标测试接口代码,所述目标测试接口代码用于表示接口消费方对应的模拟接口代码,所述接口消费方用于表示所述微服务中调用交易接口的应用系统;
根据所述目标测试接口代码和所述目标接口参数文档,自动生成目标测试脚本;
采用接口测试工具执行所述目标测试脚本,得到所述目标接口的测试结果。
本申请实施例第二方面提供一种应用于微服务的接口调用测试装置,所述装置包括:
获取单元,用于基于目标接口的目标接口代码,得到所述目标接口的目标接口参数文档,所述目标接口用于表示所述微服务中接口提供方提供的待测试交易接口,所述接口提供方用于表示所述微服务中提供交易接口的应用系统;
第一生成单元,用于根据所述目标接口代码和所述目标接口参数文档,自动生成目标测试接口代码,所述目标测试接口代码用于表示接口消费方对应的模拟接口代码,所述接口消费方用于表示所述微服务中调用交易接口的应用系统;
第二生成单元,用于根据所述目标测试接口代码和所述目标接口参数文档,自动生成目标测试脚本;
测试单元,用于采用接口测试工具执行所述目标测试脚本,得到所述目标接口的测试结果。
本申请实施例第三方面提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的应用于微服务的接口调用测试方法。
本申请实施例第四方面提供一种计算机可读介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的应用于微服务的接口调用测试方法。
本申请实施例提供了一种应用于微服务的接口调用测试方法及相关装置,该方法包括:基于目标接口的目标接口代码,得到目标接口的目标接口参数文档,目标接口用于表示微服务中接口提供方提供的待测试交易接口,接口提供方用于表示微服务中提供交易接口的应用系统;基于目标接口代码和目标接口参数文档,自动生成目标测试接口代码,目标测试接口代码用于表示接口消费方对应的模拟接口代码,接口消费方用于表示微服务中调用交易接口的应用系统;基于目标测试接口代码和目标接口参数文档,自动生成目标测试脚本;采用接口测试工具执行目标测试脚本,得到目标接口的测试结果。通过上述方法能够自动生成目标测试接口代码和对应的目标测试脚本,能够在不存在接口消费方时,实现对接口提供方对应的目标接口的调用测试。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种微服务接口调用管理流程图;
图2为本申请实施例提供的一种应用于微服务的接口调用测试方法的流程图;
图3为本申请实施例提供的一种接口参数示意图;
图4为本申请实施例提供的一种函数模板示意图;
图5为本申请实施例提供的一种目标测试脚本的自动生成示意图;
图6为本申请实施例提供的一种应用于微服务的接口调用测试装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面先对本申请实施例中涉及的相关术语进行解释。
接口(Application Programming Interface,API),是指具体执行某段逻辑的特定交易的接口。
开放接口(OpenAPI),是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作开放接口。
RESTful接口(RESTful API),是一种架构设计风格,提供了设计原则和约束条件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
超文本传输协议(Hyper Text Transfer Protocol,HTTP),是一个简单的请求-响应协议,指定了客户端可以发送给服务器什么样的消息以及得到什么样的响应。
微服务架构是一种架构模式,提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。微服务架构实际采用分布式系统进行开发,按模块拆分应用,实现多个应用的快速开发和部署。在微服务架构中,每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTful API)。微服务架构解决了单体模式的开发效率和可扩展性等问题,方便各个应用分工协作、快速开发,服务数量可根据实际访问数量动态调整,具有高度扩展性。
在微服务架构中,需要调用很多服务才能完成一项功能。服务的调用一般通过API接口来实现,内部调用的API为私有API,开放出去供消费方调用的API为开放API,即OpenAPI,微服务系统中的服务调用通过调用OpenAPI来实现。为了更好的管理消费方和服务方之间微服务的注册、订阅和调用,通常会有个接口管理系统和服务注册管理系统,用来管理开放出去的接口和服务以及消费方与服务方之间的调用,如图1所示,OpenAPI调用管理流程如下:
其中,应用互联组件包括服务注册、服务发现、负载均衡、接口调用、接口自描述、熔断等功能,服务提供方和服务消费方均需要将应用互联组件内嵌在自身系统中,服务消费方通过应用互联组件访问已经订阅的服务方OpenAPI。
接口管理系统,负责接口的注册和订阅管理。
微服务注册中心,包含管理模块和注册模块,提供微服务实例的节点连接管理、服务注册信息的展示等功能。
分布式配置中心,实现应用系统配置参数远程控制、实时生效等功能。
在图1中,OpenAPI调用管理流程中的每一步解释如下:
①微服务提供方在接口管理系统中注册微服务交易接口信息,包括对微服务信息、交易信息、接口信息进行登记,在接口验证后进行接口发布。
②微服务消费方在接口管理系统中进行接口订阅申请。
③由接口管理系统将管控规则(交易信息、接口信息、微服务应用信息、订阅关系等数据)发送至微服务注册中心,微服务注册中心将微服务管控规则转换为各应用的接口管控配置。
④由微服务注册中心管理端调用配置中心API将接口管控配置信息上传至分布式配置中心进行更新。
⑤在分布式配置中心审核通过后,推送到指定的微服务消费方的各节点,进行灰度配置更新或全量节点的配置更新,完成接口管控数据的配置下发,实现接口管控信息的配置推送。
在完成服务方接口和消费方调用开发和上述注册配置等操作后,通过消费方对应的功能测试同步实现服务方接口的调用测试。OpenAPI调用测试区别于OpenAPI本身的接口测试,接口测试通过发送请求直接访问接口,判断返回内容与预期结果是否相符来实现,而OpenAPI调用测试是通过消费方调用来验证OpenAPI接口是否可以被正常调用,调用测试同时也验证了消费方到服务方整个调用链路的订阅、配置信息是否正确,一般只需要执行一条正向用例达到验证调用接口和链路正常的目的即可。
相关技术中对微服务的接口调用测试主要是等消费方调用功能开发好后,通过消费方对应的功能测试同步实现服务方接口的调用测试。采用这种方法虽然能够得到服务方接口的调用测试结果,但是在微服务的实际使用过程中,经常会出现服务方接口已开发完成,而消费方并没有被同步开发出来的情况,这会导致服务方接口无法被及时调用,不利于微服务架构的开发应用。
鉴于此,本申请实施例提供了一种应用于微服务的接口调用测试方法及相关装置,能够实现对微服务中的接口的自动调用测试。
下面采用方法实施例对本申请提供的一种应用于微服务的接口调用测试方法进行说明,如图2所示,图2为本申请实施例提供的一种应用于微服务的接口调用测试方法的流程图,该方法包括:
S201、基于目标接口的目标接口代码,得到目标接口的目标接口参数文档,目标接口用于表示微服务中接口提供方提供的待测试交易接口,接口提供方用于表示微服务中提供交易接口的应用系统。
接口提供方,也叫接口服务方,是指在微服务中对外提供交易接口的应用系统,可以简称为服务方或提供方。
目标接口是指微服务中接口提供方提供的待测试交易接口,通常是开放接口,即网站的服务商为了将自己的网站服务封装成一系列接口开放出去,供第三方开发者使用,目标接口也是本申请的调用测试对象。
为了对目标接口进行调用测试,需要获取目标接口的目标接口参数文档。在实际使用过程中,梳理目标接口代码中的接口参数以及实际入参关系及取值,可以形成接口参数文档,作为后续步骤S202和S203的输入。
需要说明的是,实际入参关系需要根据待测试的目标接口的具体情况按情况设置。
当目标接口采用HTTP协议进行消息传输时,由于一般的http请求报文主要由Request type、Request url、Request headers、Request params、Request body几部分组成,并且在之后的调用测试过程中可以根据需要自定义目标接口的Request type、Requesturl、Request headers,因此,主要关注目标接口的Request params、Request body参数即可,通常Request params的参数类型为常规的变量类型,可以直接从目标接口的目标接口代码中读取,而Request body的参数一般为自定义的类对象,需要提前梳理类对象的实际入参。
本申请可以提供一种简单的入参文档格式,如图3所示。
图3中第一列为目标接口的接口名,第二、三列为目标接口代码中接口函数的入参类型和对应的参数名,前三列可直接取自目标接口代码,第四、五两列为针对自定义类对象中包含的必输项对应的成员变量类型及成员名,图3中第二列参数类型UserQuery为自定义的类变量类型,包含多个成员变量,由于实际使用过程中只需输入orgCode变量即可,故表中第四、五列列出变量类型为String的orgCode,第六列为变量取值,用于后续接口调用测试的数据填充,此处也可为空,在后续接口调用测试执行时再补充。
S202、根据目标接口代码和目标接口参数文档,自动生成目标测试接口代码,目标测试接口代码用于表示接口消费方对应的模拟接口代码,接口消费方用于表示微服务中调用交易接口的应用系统。
由于在实际操作过程中经常会出现服务方接口已开发完成,但是消费方没有同步开发或者暂时没有消费方订阅,此时为了实现服务方接口的调用测试,可以通过测试接口代码来模拟消费方,然后通过执行测试代码来验证服务方接口是否可以正常被调用,考虑到让测试人员自己编写测试接口代码和测试代码对测试人员的要求较高,且实际从事测试工作的测试人员相对代码基础较弱或者没有代码基础,故本申请根据目标接口的目标接口代码和目标接口参数文档,来自动生成目标测试接口代码。
在S201中确定了目标接口的目标接口参数文档之后,即可以得到类对象的实际入参变量,结合目标接口代码,可以自动生成接口消费方对应的目标测试接口代码,以便在后续步骤中根据目标测试接口代码实现对接口消费方的模拟。
在一些实施例中,在根据目标接口代码和目标接口参数文档,自动生成目标测试接口代码方面,该方法包括:
根据目标接口代码和目标接口参数文档,按照预设规则自动生成目标测试接口代码。
预设规则可以是根据前期测试接口代码编写过程总结提炼的相应规则,根据目标接口代码和目标接口参数文档,按照预设规则可以自动生成目标测试接口代码。
需要说明的是,可通过多种编程语言实现基于预设规则的测试接口代码自动生成。
在一些实施例中,在根据目标接口代码和目标接口参数文档,按照预设规则自动生成目标测试接口代码方面,该方法包括:
根据目标接口代码和目标接口参数文档,在Spring boot工程中按照预设规则自动生成目标测试接口代码。
具体来说,在Spring boot工程中按照预设规则自动生成目标测试接口代码包括如下步骤:
步骤一、获取目标接口代码中的输入语句,例如,目标接口代码对应的文档名为UserInfoAPI.java,可以根据目标接口代码自动新建目标测试接口代码文档TestUserInfoAPI.java,自动读取目标接口代码中头部所有引入jar包的import语句,写入目标测试接口代码文档TestUserInfoAPI.java,下面即为UserInfoAPI.java中头部所有import语句:
“import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import com.abchina.air.accm.annotation.ApiClient;
import com.abchina.air.accm.annotation.ApiMapping;
import com.abchina.alpaca.air.dto.BaseVO;
import com.abchina.alpaca.air.dto.UserVO;
import com.abchina.alpaca.air.dto.OrgDomainExt;
import com.abchina.alpaca.air.dto.OperandVO;
import com.abchina.alpaca.air.dto.OrgQuery;
import com.abchina.alpaca.air.dto.OrgVO;
import com.abchina.alpaca.air.dto.ResourceVO;
import com.abchina.alpaca.air.dto.RoleVO;
import com.abchina.alpaca.air.dto.UserBriefVO;
import com.abchina.alpaca.air.dto.UserExtVO;
import com.abchina.alpaca.air.dto.UserQuery;
import com.abchina.alpaca.air.dto.UserRoleVO;
import com.abchina.taihang.framework.api.pojo.vo.AbstractVO;
import net.sf.json.JSONObject;”
步骤二、将固定需要导入的请求类型的语句写入目标测试接口代码文档,这一步骤主要为减少后续调试工作量,将常规使用的jar包引入测试类,这里的import语句可以根据需要增加,例如可以补充如下语句:
“import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.beans.factory.annotation.Autowired;”
步骤三、引入微服务架构中的接口调用路径,例如,当测试alpaca工程中UserInfoAPI.java中定义的目标接口时,则在目标测试接口代码文档中添加“import com.abchina.alpaca.air.api.UserInfoAPI;”,接口调用路径可以由接口提供方提供,作为自动生成目标测试接口代码的输入。
步骤四、基于一定规则创建测试类及注解。其中类名、访问路径、私有变量根据目标接口按一定规则自动生成,生成的类结构如下:
@RestController
@RequestMapping(value=“/rest/testUserInfoAPI/”)//定义目标测试接口访问路径
Public class TestUserInfoAPI{
@Autowird
Private UserInfoAPI userInfoAPI;//定义目标接口类对象,用于后续调用
}
步骤五、根据目标接口代码中目标接口函数及目标接口参数文档,自动生成对应的目标测试接口函数。
根据目标接口代码和目标接口参数文档判断目标测试接口函数入参是否包含类变量,来选择使用的测试接口函数模板,其中,不包含类变量的测试接口函数使用图4中函数模板1,包含类变量的使用图4中函数模板2。测试接口函数的返回类型、函数名直接由目标接口代码获取。
以UserInfoAPI中目标接口findUsersByOrgRecursive举例说明,目标测试接口代码的返回类型、函数名直接取自目标接口代码,目标测试接口代码http请求方法类型统一设定为get,目标测试接口参数统一使用@RequestParam注解方式,常规类型参数直接取自目标接口代码,类类型参数根据S101步骤得到的目标接口参数文档替换为实际入参。由于该目标接口包含类类型入参,故采用函数模板2,非类类型参数直接引用,类类型参数先定义类对象赋值后引用,通过接口类对象调用被测接口函数并返回结果。
通过上述步骤,能够基于目标接口代码和目标接口参数文档,自动生成目标测试接口代码,以便后续生成对应的目标测试脚本。
S203、基于目标测试接口代码和目标接口参数文档,自动生成目标测试脚本。
由于依靠测试人员编写目标测试脚本对测试人员的要求较高,故在S202生成的目标测试接口代码之后,结合S201中获取的目标接口参数文档中的参数取值,可以自动生成目标测试脚本。
在一些实施例中,在根据目标测试接口代码和目标接口参数文档,自动生成目标测试脚本方面,该方法包括:
根据目标测试接口代码,自动得到目标接口的目标访问路径、目标请求方式、目标接口名和目标接口入参;
根据目标接口名和目标接口入参,自动从目标接口参数文档中得到目标接口对应的目标入参取值;
根据目标访问路径、目标请求方式、目标接口名和目标入参取值,自动生成目标测试脚本。
如图5所示,从目标测试接口代码中获取目标访问路径、目标请求方式、目标接口名及目标入参,依次写入每个目标接口的测试请求,结合目标接口参数文档中的参数取值,写入每个目标接口对应的入参取值,即可得到目标测试脚本。
举例说明,当之后的接口调用工具采用postman时,自动生成的postman导入可以为json文件格式,单个参数定义如下所示:
Figure BDA0003896221620000111
Figure BDA0003896221620000121
单个Http请求如下所示:
Figure BDA0003896221620000122
Figure BDA0003896221620000131
目标测试脚本中包括多个请求,单个请求中id需与集合中order参数值列表中对应,根据目标测试接口代码获取目标接口名赋值给name、目标请求方式赋值给method、目标请求路径拼接后赋值给url、目标接口入参赋值给queryParams,其余参数值默认即可。上述为单个请求的生成规则,多个请求只需按照单个请求的生成规则依次生成即可。
S204、采用接口测试工具执行目标测试脚本,得到目标接口的测试结果。
将步骤S202生成的目标测试接口代码放到本地测试工程,加入配置信息并在启动类中加入目标接口所在工程包注解,然后启动本地测试工程,通过接口测试工具导入步骤S203生成的目标测试脚本,利用接口测试工具发起目标接口的调用测试,得到目标接口的测试结果。
需要说明的是,接口测试工具有很多种,本申请中提到的postman工具也可替换为Jmeter、Fiddler等工具,可以实现同样的发送请求测试功能。
综上所述,本申请实施例提供了一种应用于微服务的接口调用测试方法,该方法包括:基于目标接口的目标接口代码,得到目标接口的目标接口参数文档,目标接口用于表示微服务中接口提供方提供的待测试交易接口,接口提供方用于表示微服务中提供交易接口的应用系统;基于目标接口代码和目标接口参数文档,自动生成目标测试接口代码,目标测试接口代码用于表示接口消费方对应的模拟接口代码,接口消费方用于表示微服务中调用交易接口的应用系统;基于目标测试接口代码和目标接口参数文档,自动生成目标测试脚本;采用接口测试工具执行目标测试脚本,得到目标接口的测试结果。通过上述方法能够自动生成目标测试接口代码和对应的目标测试脚本,能够在不存在接口消费方时,实现对接口提供方对应的目标接口的调用测试。
下面通过装置实施例来对本申请提供的一种应用于微服务的接口调用测试装置进行说明,如图6所示,图6为本申请实施例提供的一种应用于微服务的接口调用测试装置的示意图,该装置包括:
获取单元601,用于基于目标接口的目标接口代码,得到目标接口的目标接口参数文档,目标接口用于表示微服务中接口提供方提供的待测试交易接口,接口提供方用于表示微服务中提供交易接口的应用系统;
第一生成单元602,用于根据目标接口代码和目标接口参数文档,自动生成目标测试接口代码,目标测试接口代码用于表示接口消费方对应的模拟接口代码,接口消费方用于表示微服务中调用交易接口的应用系统;
第二生成单元603,用于根据目标测试接口代码和目标接口参数文档,自动生成目标测试脚本;
测试单元604,用于采用接口测试工具执行目标测试脚本,得到目标接口的测试结果。
在一些实施例中,第一生成单元602,用于根据目标接口代码和目标接口参数文档,按照预设规则自动生成目标测试接口代码。
在一些实施例中,第一生成单元602,用于根据目标接口代码和目标接口参数文档,在Spring boot工程中按照预设规则自动生成目标测试接口代码。
在一些实施例中,第二生成单元603,用于根据目标测试接口代码,自动得到目标接口的目标访问路径、目标请求方式、目标接口名和目标接口入参;根据目标接口名和目标接口入参,自动从目标接口参数文档中得到目标接口对应的目标入参取值;根据目标访问路径、目标请求方式、目标接口名和目标入参取值,自动生成目标测试脚本。
需要说明的是,本申请上述实施例提供的各个模块的具体工作过程可相应地参考上述方法实施例中的相应的实施方式,此处不再赘述。
本申请另一实施例提供了一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行存储器中存储的可执行指令时,实现本申请实施例上述方法实施例中方法。
本申请另一实施例提供了一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例上述的方法实施例中方法。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种应用于微服务的接口调用测试方法,其特征在于,所述方法包括:
基于目标接口的目标接口代码,得到所述目标接口的目标接口参数文档,所述目标接口用于表示所述微服务中接口提供方提供的待测试交易接口,所述接口提供方用于表示所述微服务中提供交易接口的应用系统;
根据所述目标接口代码和所述目标接口参数文档,自动生成目标测试接口代码,所述目标测试接口代码用于表示接口消费方对应的模拟接口代码,所述接口消费方用于表示所述微服务中调用交易接口的应用系统;
根据所述目标测试接口代码和所述目标接口参数文档,自动生成目标测试脚本;
采用接口测试工具执行所述目标测试脚本,得到所述目标接口的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标接口代码和所述目标接口参数文档,自动生成目标测试接口代码,包括:
根据所述目标接口代码和所述目标接口参数文档,按照预设规则自动生成目标测试接口代码。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标接口代码和所述目标接口参数文档,按照预设规则自动生成目标测试接口代码,包括:
根据所述目标接口代码和所述目标接口参数文档,在Spring boot工程中按照预设规则自动生成目标测试接口代码。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标测试接口代码和所述目标接口参数文档,自动生成目标测试脚本,包括:
根据所述目标测试接口代码,自动得到所述目标接口的目标访问路径、目标请求方式、目标接口名和目标接口入参;
根据所述目标接口名和目标接口入参,自动从所述目标接口参数文档中得到所述目标接口对应的目标入参取值;
根据所述目标访问路径、所述目标请求方式、所述目标接口名和所述目标入参取值,自动生成目标测试脚本。
5.一种应用于微服务的接口调用测试装置,其特征在于,所述装置包括:
获取单元,用于基于目标接口的目标接口代码,得到所述目标接口的目标接口参数文档,所述目标接口用于表示所述微服务中接口提供方提供的待测试交易接口,所述接口提供方用于表示所述微服务中提供交易接口的应用系统;
第一生成单元,用于根据所述目标接口代码和所述目标接口参数文档,自动生成目标测试接口代码,所述目标测试接口代码用于表示接口消费方对应的模拟接口代码,所述接口消费方用于表示所述微服务中调用交易接口的应用系统;
第二生成单元,用于根据所述目标测试接口代码和所述目标接口参数文档,自动生成目标测试脚本;
测试单元,用于采用接口测试工具执行所述目标测试脚本,得到所述目标接口的测试结果。
6.根据权利要求5所述的装置,其特征在于,所述第一生成单元,用于根据所述目标接口代码和所述目标接口参数文档,按照预设规则自动生成目标测试接口代码。
7.根据权利要求6所述的装置,其特征在于,所述第一生成单元,用于根据所述目标接口代码和所述目标接口参数文档,在Spring boot工程中按照预设规则自动生成目标测试接口代码。
8.根据权利要求5所述的装置,其特征在于,所述第二生成单元,用于根据所述目标测试接口代码,自动得到所述目标接口的目标访问路径、目标请求方式、目标接口名和目标接口入参;根据所述目标接口名和目标接口入参,自动从所述目标接口参数文档中得到所述目标接口对应的目标入参取值;根据所述目标访问路径、所述目标请求方式、所述目标接口名和所述目标入参取值,自动生成目标测试脚本。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至4任一项所述的应用于微服务的接口调用测试方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至4任一项所述的应用于微服务的接口调用测试方法。
CN202211273759.8A 2022-10-18 2022-10-18 一种应用于微服务的接口调用测试方法及相关装置 Pending CN115454878A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211273759.8A CN115454878A (zh) 2022-10-18 2022-10-18 一种应用于微服务的接口调用测试方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211273759.8A CN115454878A (zh) 2022-10-18 2022-10-18 一种应用于微服务的接口调用测试方法及相关装置

Publications (1)

Publication Number Publication Date
CN115454878A true CN115454878A (zh) 2022-12-09

Family

ID=84311394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211273759.8A Pending CN115454878A (zh) 2022-10-18 2022-10-18 一种应用于微服务的接口调用测试方法及相关装置

Country Status (1)

Country Link
CN (1) CN115454878A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932403A (zh) * 2023-07-25 2023-10-24 太初(无锡)电子科技有限公司 测试用例的生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932403A (zh) * 2023-07-25 2023-10-24 太初(无锡)电子科技有限公司 测试用例的生成方法

Similar Documents

Publication Publication Date Title
JP6494609B2 (ja) カスタマイズされたソフトウェア開発キット(sdk)生成のための方法および装置
US10055238B2 (en) Method and apparatus for code virtualization and remote process call generation
US6950872B2 (en) Methods and systems for facilitating message exchange between networked computing entities
US20070169015A1 (en) Web services development automation toolkit with test case driver and customized configuration file
JP2022523914A (ja) レプリゼンテーショナルステートトランスファ(rest)アプリケーションプログラミングインターフェイス(api)を使用するデータ変換のための方法、システムおよびコンピュータ読取可能媒体
US9971636B2 (en) Methods for implementing web services and devices thereof
CN113055492A (zh) 服务灰度链路的控制方法、装置、计算机设备和存储介质
CN114416075A (zh) 业务处理方法及装置
CN115454878A (zh) 一种应用于微服务的接口调用测试方法及相关装置
CN109725887A (zh) 基于消息研发框架的数据交互方法、装置及终端设备
CN116668520A (zh) 一种基于网关的服务编排方法、系统、设备及存储介质
Pop et al. A Service Oriented Architecture Approach for an E-Business Platform
CN113901377B (zh) 遗留系统的服务调用方法、装置、存储介质及设备
CN104767808A (zh) 一种基于支持ajax的web代理方法
CN111158661A (zh) 系统接口对接方法、装置、介质及电子设备
CN116594679A (zh) 接口文档的生成方法及装置、电子设备
CN114721929A (zh) 测试方法、装置、存储介质及设备
Pop et al. An E-business service provided through mobile communications networks
CN115758026A (zh) 应用程序与网络页面的交互方法和装置
CN114116111A (zh) 配置流程节点和数据处理的方法、装置、设备及介质
CN115242866A (zh) 微服务调用方法、装置、电子设备及存储介质
CN117194222A (zh) 一种表单验证方法及通信方法
CN117908977A (zh) 一种应用系统接入方法及系统
CN116755677A (zh) 原子服务编排方法、装置、设备及存储介质
JP2004272303A (ja) アクセス処理手段開発支援装置及びアクセス処理プログラム

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