一种接口自动化测试请求参数构建方法、装置、计算机设备及计算机可读存储介质制造方法及图纸

技术编号:36556407 阅读:10 留言:0更新日期:2023-02-04 17:11
本发明专利技术提供了一种接口自动化测试请求参数构建方法,包括:从接口被调用的系统运行日志中获取被调用接口的请求JSON数据作为接口请求参数模板,将接口请求参数模板转换为Map对象,操作Map对象修改需要修改的请求字段的值,将修改后的Map对象转换为JSON数据,作为构建测试用例所需的接口请求参数JSON数据。本发明专利技术不受接口请求参数复杂度影响,可以在系统运行日志中获取请求参数模板,省去了传统接口自动化测试时编写接口请求参数类、接口请求参数对象、接口请求参数对象赋值代码的工作量,提高了自动化测试用例编写效率。高了自动化测试用例编写效率。高了自动化测试用例编写效率。

【技术实现步骤摘要】
一种接口自动化测试请求参数构建方法、装置、计算机设备及计算机可读存储介质


[0001]本专利技术涉及数据处理领域,尤其涉及一种接口自动化测试请求参数构建方法、装置、计算机设备及计算机可读存储介质。

技术介绍

[0002]目前,接口测试需要测试人员编写测试用例实现,在设计接口自动化测试用例构建接口请求参数时,一般采用JSON(JavaScript Object Notation)格式存储,程序处理业务简单可以选用JSON基本格式,当业务越来越复杂,接口请求JSON也越来越复杂,会出现多层嵌套格式,JSON格式中value可以是各种合法的JSON数据类型(字符串string,数字int,对象JSON Obiect,数组JSON Array)。目前的方案是:首先创建请求参数类,然后写具体测试用例时再创建请求参数对象,最后给请求参数对象赋值。因而,在处理多层嵌套结构的JSON格式时,接口请求参数越复杂,测试人员需要写的接口请求参数类越多,编写自动化测试用例构建请求参数的代码量越大,若是接口请求参数更复杂有十多层结构体嵌套,在做接口自动化测试时,创建请求参数类、新建请求参数对象并赋值的工作量会变得非常巨大。因此在接口自动化测试中,构建请求参数的方法需要改进使得测试人员的工作量可以大幅减少,从而提高工作效率。

技术实现思路

[0003]本专利技术的目的在于提供一种接口自动化测试请求参数构建方法、装置、计算机设备及计算机可读存储介质,旨在解决现有技术中接口自动化测试中,测试人员编写自动化测试用例构建请求参数时的代码量大的问题。
[0004]第一方面,本专利技术提供了一种接口自动化测试请求参数构建方法,包括:
[0005]S101、从接口被调用的系统运行日志中获取被调用接口的请求JSON数据作为接口请求参数模板;
[0006]S102、将所述接口请求参数模板转换为Map对象;
[0007]S103、操作所述Map对象修改需要修改的请求字段的值;
[0008]S104、将修改后的Map对象转换为JSON数据,作为构建测试用例所需的接口请求参数JSON数据。
[0009]第二方面,本专利技术提供了一种接口自动化测试请求参数构建装置,包括:
[0010]模板构建模块,用于从接口被调用的系统运行日志中获取被调用接口的请求JSON数据作为接口请求参数模板;
[0011]第一数据转换模块,用于将所述接口请求参数模板转换为Map对象;
[0012]数据处理模块,用于操作所述Map对象修改需要修改的请求字段的值;
[0013]第二数据转换模块,用于将修改后的Map对象转换为JSON数据,作为构建测试用例所需的接口请求参数JSON数据。
[0014]第三方面,本专利技术提供了一种计算机设备,包括:
[0015]一个或多个处理器;
[0016]存储器;以及
[0017]一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如上所述的接口自动化测试请求参数构建方法的步骤。
[0018]第四方面,本专利技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的接口自动化测试请求参数构建方法的步骤。
[0019]在本专利技术中,通过从接口被调用的系统运行日志中获取被调用接口的请求JSON数据作为接口请求参数模板,然后将接口请求参数模板转换为Map对象,进而操作Map对象修改需要修改的请求字段的值,最后将修改后的Map对象转换为JSON数据,作为构建测试用例所需的接口请求参数JSON数据。因而本专利技术不受接口请求参数复杂度影响,可以在系统运行日志中获取请求参数模板,省去了传统接口自动化测试时编写接口请求参数类、接口请求参数对象、接口请求参数对象赋值代码的工作量,提高了自动化测试用例编写效率。
附图说明
[0020]图1是本专利技术实施例一提供的接口自动化测试请求参数构建方法的流程图;
[0021]图2是本专利技术实施例二提供的接口自动化测试请求参数构建装置的功能模块框图;
[0022]图3是本专利技术实施例三提供的计算机设备的结构示意图。
具体实施方式
[0023]为了使本专利技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0024]为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。
[0025]实施例一:
[0026]如图1所示,本专利技术实施例一提供了一种接口自动化测试请求参数构建方法100,包括以下步骤:
[0027]S101、从接口被调用的系统运行日志中获取被调用接口的请求JSON数据作为接口请求参数模板,例如,某项真实业务触发调用了A系统的a接口,则可以从A系统的运行日志中获取到真实调用时a接口的请求JSON数据,进而将真实调用a接口的请求JSON数据保存到自动化测试工程中作为a接口的接口自动化测试用例编写的请求模版。
[0028]S102、将接口请求参数模板转换为Map对象,具体地,通过FastJson将JSON字符串转换为Map对象,FastJson是阿里巴巴开源的Java对象和JSON格式字符串的快速转换的工具库,基于FastJson可以让JSON数据快速转换为可灵活操作的Java Map类型数据。
[0029]S103、操作Map修改需要修改的请求字段的值,具体地,针对JSON基本格式A、JSON
多结构体嵌套格式B和JSON多结构体嵌套加列表结构体格式C,操作Map对方法也不相同。
[0030]情形1:对于JSON基本格式A,以下为JSON基本格式A的例子:
[0031][0032]将接口请求参数模板转换为Map对象时只需要转一次Map,就可以直接修改需要修改的请求字段的值。
[0033]情形2:对于JSON多结构体嵌套格式B,以下为JSON基本格式B的例子:
[0034][0035]根据需要修改的字段递归查询Map,查询到需要修改的字段后修改需要修改的请求字段的值。
[0036]例如,处理JSON基本格式A或JSON多结构体嵌套格式B的方法代码示例如下:
[0037][0038]替换key示例:req=mapChangeKeyOfValue("a_key1","11111",req);
[0039]情形3:对于JSON基本格式C,以下为JSON基本格式C的例子
[0040][0041][0042]由于JSON基本格式C中,字段“b_key3”内的值是一个结构体列表,b_key3[0],b_key3[1],b_key3[2]三个结构体中所含的字段类型是一样的,例如字段“list_key1”在b_key3本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种接口自动化测试请求参数构建方法,其特征在于,所述方法包括:S101、从接口被调用的系统运行日志中获取被调用接口的请求JSON数据作为接口请求参数模板;S102、将所述接口请求参数模板转换为Map对象;S103、操作所述Map对象修改需要修改的请求字段的值;S104、将修改后的Map对象转换为JSON数据,作为构建测试用例所需的接口请求参数JSON数据。2.如权利要求1所述的方法,其特征在于,所述将所述接口请求参数模板转换为Map对象,具体是通过FastJson将JSON字符串转换为Map对象。3.如权利要求1所述的方法,其特征在于,所述操作所述Map对象修改需要修改的请求字段的值,具体包括:当JSON数据是JSON基本格式时,直接修改需要修改的请求字段的值;当JSON数据是JSON多结构体嵌套格式时,根据需要修改的字段递归查询Map,查询到需要修改的字段后修改请求字段的值;当JSON数据是JSON多层结构体嵌套加结构体列表格式时,用路径方式匹配列表内的指定索引数据,然后修改指定索引数据内的需要修改的请...

【专利技术属性】
技术研发人员:江颖警
申请(专利权)人:深圳依时货拉拉科技有限公司
类型:发明
国别省市:

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

1