The invention discloses a testing method and device for distributed services, a computer readable storage medium, and relates to the technical field of Internet testing. The method includes: parsing the configuration file, obtaining the service name, application system name and address of the service registry corresponding to the service to be tested; connecting the service registry according to the address, and obtaining the context of the service to be tested according to the service name and application system name; obtaining the interface method corresponding to the service to be tested from the context; and according to the service name, application system name and the interface party. Method: Obtain the input type of interface method through Java reflection mechanism, generate form template according to input type, generate request form according to input value constructed by user based on form template, inject request form into input of interface method, and execute interface method. This method and device can improve the universality and efficiency of testing.
【技术实现步骤摘要】
分布式服务的测试方法和装置、计算机可读存储介质
本专利技术涉及互联网测试
,特别涉及一种分布式服务的测试方法和装置、计算机可读存储介质。
技术介绍
当前基于RPC(RemoteProcedureCallProtocol,远程过程调用协议)的分布式微服务框架已经成为互联网应用服务主流。开源社区贡献了诸如Dubbo、DubboX、gRPC、Thrift和Montan等RPC分布式框架。从提高效率的角度出发,在RPC框架下的分布式微服务系统间多基于TCP(TransmissionControlProtocol,传输控制协议)协议进行通讯。为了验证分布式服务的功能,并对其性能进行诊断分析,需要对这些分布式服务进行测试。相关技术大都基于TCP协议针对RPC框架下的每个服务系统开发测试代码来进行测试。
技术实现思路
本专利技术的专利技术人发现上述相关技术中存在如下问题:针对RPC框架下的服务开发测试代码的过程极其繁琐而且不具有通用性,导致测试效率低下。针对上述问题中的至少一个问题,本专利技术人提出了解决方案。本专利技术的一个目的是提供一种高效率的分布式服务测试的技术方案。根据本专利技术的一个实施例,提供了一种分布式服务的测试方法,包括:解析配置文件,获取待测试服务对应的服务名、应用系统名和服务注册中心的地址;根据所述地址连接所述服务注册中心,并且根据所述服务名和所述应用系统名获取所述待测试服务的上下文;从所述上下文中获取所述待测试服务对应的接口方法;根据所述服务名、所述应用系统名和所述接口方法,通过Java的反射机制获取所述接口方法的入参类型,根据所述入参类型生成表 ...
【技术保护点】
1.一种分布式服务的测试方法,包括:解析配置文件,获取待测试服务对应的服务名、应用系统名和服务注册中心的地址;根据所述地址连接所述服务注册中心,并且根据所述服务名和所述应用系统名获取所述待测试服务的上下文;从所述上下文中获取所述待测试服务对应的接口方法;根据所述服务名、所述应用系统名和所述接口方法,通过Java的反射机制获取所述接口方法的入参类型,根据所述入参类型生成表单模板;根据用户基于所述表单模板构造的入参值生成请求表单;将所述请求表单注入所述接口方法的入参,并执行所述接口方法。
【技术特征摘要】
1.一种分布式服务的测试方法,包括:解析配置文件,获取待测试服务对应的服务名、应用系统名和服务注册中心的地址;根据所述地址连接所述服务注册中心,并且根据所述服务名和所述应用系统名获取所述待测试服务的上下文;从所述上下文中获取所述待测试服务对应的接口方法;根据所述服务名、所述应用系统名和所述接口方法,通过Java的反射机制获取所述接口方法的入参类型,根据所述入参类型生成表单模板;根据用户基于所述表单模板构造的入参值生成请求表单;将所述请求表单注入所述接口方法的入参,并执行所述接口方法。2.根据权利要求1所述的测试方法,其中,获取接口方法包括:从所述上下文中获取所述待测试服务对应的服务实例,并根据Java的反射机制从所述服务实例中获取所述接口方法。3.根据权利要求1所述的测试方法,其中,生成表单模板包括:遍历所有所述入参类型,将所述入参类型序列化为入参字符串,所述入参字符串包括入参初始值和入参属性,所述表单模板由所述入参字符串组成。4.根据权利要求1所述的测试方法,还包括:在配置文件中指定所述待测试服务对应的接口类,所述接口类中包括至少一个接口方法,所述服务名为所述接口类的名称;在配置文件中配置所述服务注册中心的地址。5.根据权利要求1-4任一项所述的测试方法,其中,所述入参类型为Java的基础数据类型或根据所述待测试服务的需要定义的类。6.根据权利要求1-4任一项所述的测试方法,还包括:将所述服务名、所述应用系统名和所述接口方法放入全局缓存中,其中,在获取所述接口方法的入参类型时调用所述全局缓存。7.一种分布式服务的测试装置,包括:解析模块,用于解析配置文件,获取待测试服务对应的服务名、应用系统名和服务注册中心的地址,根据所述地址连接所述服务注册中心,并且根据所述服务名和所述应用系统名获取...
【专利技术属性】
技术研发人员:陈志勇,李亚锋,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。