一种客户端生成方法、装置及电子设备制造方法及图纸

技术编号:15762891 阅读:228 留言:0更新日期:2017-07-05 23:16
本申请提供了一种客户端生成方法、装置及电子设备,当需要某一测试客户端时,将公共部分抽离出来得到相应的客户端模板文件,之后,将按照预设要求将其thrifit文件转化成测试数据文件以及测试场景文件,那么,用户可以根据测试需要,在该测试数据文件中填写测试数据,并在该测试场景文件中填写相应的测试接口验证参数,从而根据预设数据变化接口文件、客户端模板文件以及编译脚本模板文件,利用得到的目标测试数据文件和目标测试场景文件,自动生成测试客户端的可执行文件,即得到测试客户端。由此可见,本申请利用模板文件,不需要根据不同测试场景编写测试客户端,只需要用户填写需要的一些数据,大大减少了工作量,提高了工作效率。

Method, device and electronic device for generating client side

This application provides a client generation method, device and electronic equipment, when the need for a test client, then pulled out of the public part of the corresponding template file, and will be in accordance with the preset requirement the thrifit file into the test data file and test scenario files, then the user can according to the need of testing fill in the test, the test data in the data file, and fill in the corresponding test interface validation parameters in the test scene file, according to the preset data interface file, change the template file to compile and client script template file, using the target test data file and target test scene files, automatically generated test client executable the test client files. Thus, this application uses template file, does not need to write test client according to different test scenarios, only needs the user to fill in some data needed, greatly reduces the workload and improves work efficiency.

【技术实现步骤摘要】
一种客户端生成方法、装置及电子设备
本申请主要涉及计算机
,更具体地说是涉及一种客户端生成方法、装置及电子设备。
技术介绍
Thrift是一种跨语言的服务部署框架,通过一个中间语言如接口定义语言IDL(InterfaceDefinitionLanguage),来定义RPC(RemoteProcedureCallProtocol,远程过程调用)接口和数据类型,然后通过编译器生成相应语言的若干服务器端代码文件和客户端代码文件,以便在需要情况下编译得到服务端和客户端的可执行程序,满足实际需要。基于此,当需要对RPC服务接口性能与功能进行测试时,现有技术通常是针对具体的RPC服务,根据Thrift文件定义编写相应的客户端代码进行性能与功能测试,这就导致在不同的测试场景下,需要编写一一对应的客户端代码,才能进行RPC服务的性能与功能测试,工作量非常大,成本较高且测试效率较低。
技术实现思路
有鉴于此,本专利技术提供了一种客户端生成方法、装置及电子设备,利用客户端的模板文件,通过配置需要的测试场景以及测试数据,实现对模板文件的配置,得到相应的客户端可执行文件,具有很强的复用性,降低了客户端代码编写工作量,提高了客户端生成效率。为了实现上述目的,本申请提供了以下技术方案:一种测试客户端生成方法,所述方法包括:获得针对测试客户端编写的thrift文件;按照预设要求将所述thrift文件转化成测试数据文件以及测试场景文件;利用获得的针对所述测试客户端的配置文件,对所述测试数据文件和所述测试场景文件进行配置,得到目标测试数据文件以及目标测试场景文件,其中,所述配置文件包括填写的针对所述测试客户端的测试功能的测试数据,以及实现所述测试功能的测试接口验证参数;根据预设数据变化接口文件和预设客户端模板文件,利用所述目标测试数据文件和所述目标测试场景文件,生成测试客户端文件。本申请实施例还提供了一种测试客户端生成装置,所述装置包括:文件获得模块,用于获得针对测试客户端编写的thrift文件;文件转化模块,用于按照预设要求将所述thrift文件转化成测试数据文件以及测试场景文件;目标文件配置模块,用于利用获得的针对所述测试客户端的配置文件,对所述测试数据文件和所述测试场景文件进行配置,得到目标测试数据文件以及目标测试场景文件,所述配置文件包括填写的针对所述测试客户端的测试功能的测试数据,以及实现所述测试功能的测试接口验证参数;文件生成模块,用于根据预设数据变化接口文件和预设客户端模板文件,利用所述目标测试数据文件和所述目标测试场景文件,生成测试客户端文件。本申请实施例还提供了一种电子设备,包括如上所述的测试客户端生成装置。由此可见,与现有技术相比,本申请提供了一种客户端生成方法、装置及电子设备,当需要某一测试客户端时,将公共部分抽离出来得到相应的客户端模板文件,之后,将按照预设要求将其thrifit文件转化成测试数据文件以及测试场景文件,那么,用户可以根据测试需要,在该测试数据文件中填写测试数据,并在该测试场景文件中填写相应的测试接口验证参数,从而根据预设数据变化接口文件、客户端模板文件以及编译脚本模板文件,利用得到的目标测试数据文件和目标测试场景文件,自动生成测试客户端的可执行文件,即得到测试客户端。由此可见,本申请利用模板文件,不需要根据不同测试场景编写测试客户端,只需要用户填写需要的一些数据,大大减少了工作量,提高了工作效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例提供的一种测试客户端生成方法的流程图;图2为本申请实施例提供的另一种测试客户端生成方法的流程图;图3为本申请实施例提供的一种测试客户端生成装置的结构框图;图4为本申请实施例提供的另一种测试客户端生成装置的结构框图;图5为本申请实施例提供的又一种测试客户端生成装置的结构框图;图6为本申请实施例提供的又一种测试客户端生成装置的结构框图;图7为本申请实施例提供的一种电子设备的硬件结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在实际应用中,thrift系统架构通常都是实现客户端/服务器模式,通过代码生成工具(即下文编译工具),将接口定义文件生成服务器端和客户端代码(可以为不同语言),从而实现服务端和客户端跨语言的支持。并且,用户可以在Thirft文件中声明自己的服务,这些服务经过编译后会生成相应语言的代码文件,然后用户实现服务(客户端调用服务,服务器端提服务)便可以了。其中,Thrift类型系统可以包括预定义基本类型,用户自定义结构体,容器类型,异常和服务定义,关于thrift文件的内容可以参照下文相应部分的描述,本实施例在此不作详述。并且,结构体可以由一系列域组成,每个域有唯一整数标识符,类型,名字和可选的缺省参数组成,每个域有一个唯一的,正整数标识符,每个域可以标识为required或者optional。而且,一个thrift中可定义多个结构体,并存在引用关系,结构体可以包含其他结构体在本申请中,规范的struct定义中的每个域均会使用required或者optional关键字进行标识。如果required标识的域没有赋值,thrift将给予提示。如果optional标识的域没有赋值,该域将不会被序列化传输;如果某个optional标识域有缺省值而用户没有重新赋值,则该域的值一直为缺省值。为了使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。参照图1,为本申请实施例提供的一种测试客户端生成方法的流程图,该方法可以由编译工具实现,本申请对该编译工具的内容不作限定,该方法可以包括以下步骤:步骤S11,获得针对测试客户端编写的thrift文件;在本实施例中,当需要编写一个测试客户端时,该thrift文件可以定义该测试客户端与服务器或其他客户端进行通信的通信接口以及通讯规则等,本申请对该thrift文件的具体生成方式以及包含的具体内容不作限定。需要说明的是,针对测试场景得到的不同测试客户端或者是同一测试客户端的不同服务需求,所生成的thrift文件可以不同。可选的,在实际应用中,预设的thrift文件可以为如下所示的代码文件,但并不局限于此:由上述代码文件可知,thrift文件中包含有结构体struct以及服务接口service两部分,但并不局限于,而且该thrift文件包含的结构体以及服务接口相关信息可以根据测试场景的需要确定,也可以说是需要编写的测试客户端将要实现的测试功能确定,本申请对此不作详述。步骤S12,将thrift文件转化为预设数据交换格式的待处理文件;可选的,本实施例可以采用json定义方式确定该待处理文件,即预设数据交换格式可以是本文档来自技高网...
一种客户端生成方法、装置及电子设备

【技术保护点】
一种测试客户端生成方法,其特征在于,所述方法包括:获得针对测试客户端编写的thrift文件;按照预设要求将所述thrift文件转化成测试数据文件以及测试场景文件;利用获得的针对所述测试客户端的配置文件,对所述测试数据文件和所述测试场景文件进行配置,得到目标测试数据文件以及目标测试场景文件,其中,所述配置文件包括填写的针对所述测试客户端的测试功能的测试数据,以及实现所述测试功能的测试接口验证参数;根据预设数据变化接口文件和预设客户端模板文件,利用所述目标测试数据文件和所述目标测试场景文件,生成测试客户端文件。

【技术特征摘要】
1.一种测试客户端生成方法,其特征在于,所述方法包括:获得针对测试客户端编写的thrift文件;按照预设要求将所述thrift文件转化成测试数据文件以及测试场景文件;利用获得的针对所述测试客户端的配置文件,对所述测试数据文件和所述测试场景文件进行配置,得到目标测试数据文件以及目标测试场景文件,其中,所述配置文件包括填写的针对所述测试客户端的测试功能的测试数据,以及实现所述测试功能的测试接口验证参数;根据预设数据变化接口文件和预设客户端模板文件,利用所述目标测试数据文件和所述目标测试场景文件,生成测试客户端文件。2.根据权利要求1所述的方法,其特征在于,所述按照预设要求将所述thrift文件转化成测试数据文件以及测试场景文件,包括:利用所述thrift文件中定义的结构体信息,生成测试数据文件;利用所述thrift文件中定义的服务接口信息,生成测试场景文件。3.根据权利要求1所述的方法,其特征在于,所述根据预设数据变化接口文件和预设客户端模板文件,利用所述目标测试数据文件和所述目标测试场景文件,生成测试客户端文件,包括:利用所述目标测试数据文件中定义的基本数据类型变化规则以及预设数据变化接口文件,生成目标数据变化规则文件;利用所述目标测试数据文件和所述目标测试场景文件,根据预设客户端模板文件,获得测试客户端文件。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:利用预设编译脚本模板文件和所述测试客户端文件,编译得到所述测试客户端的可执行文件;执行所述测试客户端的可执行文件,获得所述测试客户端的测试结果。5.根据权利要求2所述的方法,其特征在于,所述利用所述thrift文件中定义的结构体信息,生成测试数据文件,包括:利用预设定义规则对所述thrift文件中定义的结构体信息进行处理,得到相应的结构体成员信息;检测确定的所述结构体成员信息是否属于基本数据类型信息;如果否,利用所述预设定义规则继续对不属于基本数据类型信息的结构体成员信息进行处理,直至得到的所述结构体成员信息都属于基本数据类型信息;如果是,提取满足第一预设要求的基本数据类型信息,生成测试数据文件。6.根据权利要求2所述的方法,其特征在于,所述利用所述thrift文件中定义的服务接口信息,生成测试场景文件,包括:利用所述thrift文件中定义的服务接口信息,确定远程调用接口信息以及对应的接口验证信息;提取满足第二预设要求的远程调用接口信息以及对应的接口验证信息,生成测试场景文件。7.根据权利要求3所述的方法,其特征在于,所述利用所述目标测试数据文件和所述目标测试场景文件,根据预设客户端模板文件,获得测试客户端文件;,包括:解析所述目标测试数据文件以及所述目标...

【专利技术属性】
技术研发人员:任亮罗玲
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1