本技术属于服务自动化测试,尤其涉及一种接口的测试方法、装置、设备和存储介质。
背景技术:
1、接口测试指的是对被测试系统提供的服务接口的测试。一般情况下,服务接口在定义完成后,会提供对应的接口定义说明文档,通过该接口定义说明文档可以定义测试用例模板,测试人员在测试用例模板中编写测试用例,然后接口测试工具可以将测试用例转换成请求报文和响应报文以用于对接口进行测试。
2、在现有技术中,测试人员在测试用例模板中编写测试用例时,会遇到一个字段中存放嵌套类型数据的情况,例如,接口是xml格式,在某个xml单字段中存放的数据类型包括结构体、列表或json等嵌套结构类型时,测试人员需要提前准备好该嵌套结构的数据内容再进行用例编写。因此在数据嵌套层级和字段内容较多的情况下,由于测试用例模板无法直观的查看和填写数据内容,可读性差,导致了测试用例编写效率低,出错率高。
3、因此,现有技术存在的问题是:在接口中包括多层嵌套的字段时,测试用例模板的可读性差,测试用例编写效率低,出错率高。
技术实现思路
1、本技术实施例提供了一种接口的测试方法、装置、设备和存储介质,解决了在接口中包括多层嵌套的字段时,测试用例模板的可读性差,测试用例编写效率低,出错率高的问题。
2、第一方面,本技术实施例提供了一种接口的测试方法,包括:
3、接收目标测试用例模板,目标测试用例模板基于测试人员根据目标接口的测试用例模板填写得到;
4、基于各个字段之间的层级关系和引用关系,将目标测试用例模板中不同页的字段进行组装,得到多个xml单字段;
5、对多个xml单字段进行组装,得到请求报文和响应报文;
6、向被测试系统发送请求报文;
7、将被测试系统返回的运行结果与响应报文进行对比,得到测试结果,其中,运行结果基于被测试系统根据请求报文运行得到。
8、在一些可能的实现方式中,在接收目标测试用例模板之前,该方法还包括:
9、获取目标接口的接口定义文档;
10、在接口定义文档中,获取各个字段之间的层级信息和引用关系;
11、根据各个字段之间的层级信息和引用关系,将xml单字段引用的目标字段编写在对应的目标页;
12、基于所有目标页,生成目标接口的测试用例模板,其中,测试用例模板中包括各个字段之间的层级关系和引用关系。
13、在一些可能的实现方式中,根据各个字段之间的层级信息和引用关系,将xml单字段引用的目标字段编写在对应的目标页,包括:
14、根据字段之间的引用关系,在接口定义文档中获取xml单字段引用的目标字段;
15、根据字段之间的层级信息,将目标字段编写在对应的目标页。
16、在一些可能的实现方式中,层级信息包括第一层和第n层;目标页包括第一页和第n页,n为大于1的整数;根据字段之间的层级信息,将目标字段编写在对应的目标页,包括:
17、将第一层的目标字段,编写在第一页;
18、将第n层的第n目标字段,编写在对应的第n页,其中,第n页有多个,在同一个第n页中的第n目标字段被第n-1页的同一个第n-1目标字段引用。
19、在一些可能的实现方式中,接口定义文档中还包括每个字段的数据类型信息,数据类型信息包括第一类型信息和第二类型信息,第一类型信息包括字符串类型和/或数值类型,第二类型信息包括子结构类型、列表类型和/或json类型。
20、在一些可能的实现方式中,接口定义文档中还包括每个字段的名称信息,名称信息中包括预设字符,预设字符用于表征各个字段之间的层级信息和引用关系。
21、第二方面,本技术实施例还提供了一种接口的测试装置,包括:
22、接收模块,用于接收目标测试用例模板,目标测试用例模板基于测试人员根据目标接口的测试用例模板填写得到;
23、组装模块,用于基于各个字段之间的层级关系和引用关系,将目标测试用例模板中不同页的字段进行组装,得到多个xml单字段;
24、组装模块,还用于对多个xml单字段进行组装,得到请求报文和响应报文;
25、发送模块,用于向被测试系统发送请求报文;
26、对比模块,用于将被测试系统返回的运行结果与响应报文进行对比,得到测试结果,其中,运行结果基于被测试系统根据请求报文运行得到。
27、在一些可能的实现中,在接收模块用于接收目标测试用例模板之前,该装置还包括:
28、获取模块,用于获取目标接口的接口定义文档;
29、获取模块,还用于在接口定义文档中,获取各个字段之间的层级信息和引用关系;
30、编写模块,用于根据各个字段之间的层级信息和引用关系,将xml单字段引用的目标字段编写在对应的目标页;
31、生成模块,用于基于所有目标页,生成目标接口的测试用例模板,其中,测试用例模板中包括各个字段之间的层级关系和引用关系。
32、在一些可能的实现中,编写模块用于根据各个字段之间的层级信息和引用关系,将xml单字段引用的目标字段编写在对应的目标页,包括:
33、获取单元,用于根据字段之间的引用关系,在接口定义文档中获取xml单字段引用的目标字段;
34、编写单元,用于根据字段之间的层级信息,将目标字段编写在对应的目标页。
35、在一些可能的实现中,层级信息包括第一层和第n层;目标页包括第一页和第n页,n为大于1的整数;编写单元用于根据字段之间的层级信息,将目标字段编写在对应的目标页,包括:
36、编写单元,用于将第一层的目标字段,编写在第一页;
37、编写单元,还用于将第n层的第n目标字段,编写在对应的第n页,其中,第n页有多个,在同一个第n页中的第n目标字段被第n-1页的同一个第n-1目标字段引用。
38、在一些可能的实现中,接口定义文档中还包括每个字段的数据类型信息,数据类型信息包括第一类型信息和第二类型信息,第一类型信息包括字符串类型和/或数值类型,第二类型信息包括子结构类型、列表类型和/或json类型。
39、在一些可能的实现中,接口定义文档中还包括每个字段的名称信息,名称信息中包括预设字符,预设字符用于表征各个字段之间的层级信息和引用关系。
40、第三方面,本技术实施例还提供了一种电子设备,该电子设备包括处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面,或第一方面中的任一可能实现方式中的接口的测试方法。
41、第四方面,本技术实施例还提供了一种计算机存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面,或第一方面中的任一可能实现方式中的接口的测试方法。
42、第五方面,本技术实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行第一方面,或第一方面中的任一可能实现方式中的接口的测试方法。
43、本技术实施例的接口的测试方法、装置、设备和存储介质,通过接收目标测试用例模板,该目标测试用例模板基于测试人员根据目标接口的测试用例模板填写得到,然后基于各个字段之间的层级关系和引用关系,将该目标测试用例模板中不同页的字段进行组装,可以得到多个xml单字段,接下来对多个xml单字段进行组装,可以得到请求报文和响应报文,进而可以向被测试系统发送该请求报文,随后将被测试系统返回的运行结果与该响应报文进行对比,可以得到测试结果,其中,被测试系统返回的运行结果基于被测试系统根据该请求报文运行得到。基于各个字段的层级关系和引用关系,接口测试工具可以将目标测试用例模板的多个页中存放的字段组装成一个个完整的xml单字段,可以解决多层嵌套的问题,在接口中包括多层嵌套的字段时,提高了测试用例模板的可读性,提高了测试用例的编写效率,提高了编写的准确性。