System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及接口校验领域,尤其涉及一种接口测试的数据校验方法、系统、设备及存储介质。
技术介绍
1、接口测试是测试系统组件间接口的一种测试,接口测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,其对测试结果的校验一般包括对测试的响应结果、测试的数据库结果及日志结果进行校验。
2、传统的接口自动化测试在进行数据校验时都是以用例或者流量为维度进行数据的断言和校验,通过此种方式进行数据校验存在的缺点在于:(1)维护成本高,由于逻辑分散在不同的代码中,维护不方便,虽然投入很多工作,而在手工测试时却无法使用,不能作为测试服务同时给自动化测试和手工测试使用,复用度低。(2)复用度低,由于校验过程分散,同一个接口的逻辑维护在不同的脚本或者用例之中,当接口逻辑变更时,需要多处修改和调试,维护成本高。(3)耦合度高,由于校验逻辑和自动化测试框架或者测试平台耦合在一起,两者是一体的,相互依存,后续更换框架或者平台,迁移的难度极高,甚至无法迁移,迁移成本高。(4)灵活度低,一般只支持一种编程语言或者数据格式,在校验数据的过程中,如果需要进行一些个性化功能的开发,需要依赖框架/平台进行一些改造,在需求响应上可能不及时,而且个性化需求可能被框架/平台拒绝实现,对于个性化的需求,还需要依赖自动化测试框架或者平台进行定制开发。
技术实现思路
1、本专利技术提供了一种接口测试的数据校验方法、系统、设备及存储介质,实现接口测试时准确的数据校验,复用度高,提高接口测试数据
2、为了解决上述技术问题,本专利技术实施例提供了一种接口测试的数据校验方法,包括:
3、基于第一待测接口,生成数据校验api;其中,数据校验api用于第一待测接口校验结果的获取;第一待测接口校验结果是通过调用预设的校验服务对第一待测接口进行接口参数解析校验而获取;
4、基于预设的计算机语言,将数据校验api部署为测试服务;
5、根据预设的接口测试方式,调用测试服务对第二待测接口进行数据校验,获得第二待测接口校验结果;其中,预设的接口测试方式包括接口手工测试方式和接口自动化测试方式。
6、实施本专利技术实施例,基于第一待测接口,生成数据校验api;其中,数据校验api用于第一待测接口校验结果的获取;第一待测接口校验结果是通过调用预设的校验服务对第一待测接口进行接口参数解析校验而获取;基于预设的计算机语言,将数据校验api部署为测试服务;根据预设的接口测试方式,调用测试服务对第二待测接口进行数据校验,获得第二待测接口校验结果;其中,预设的接口测试方式包括接口手工测试方式和接口自动化测试方式。通过生成数据校验api,并将数据校验api部署为测试服务,利用测试服务来进行接口测试时的数据校验,对于同一个/同一类接口的所有校验逻辑,都封装在一个数据校验api中,当接口逻辑有变动时,只需要修改该数据校验api即可,而无需修改多处,维护和调试的成本大大降低,便于后期维护和应用。由于校验逻辑是以api的形式存在的,可以独立运行,不依赖自动化测试框架/平台,在接口的手工测试中,可以用postman/jmeter等功能测试工具直接调用该api进行结果检查,实现了自动化测试的工作在手工测试中得到复用,复用度高,便于地在自动化测试和手工测试中使用,提高接口测试数据的校验效率,节约接口测试成本。
7、作为优选方案,第一待测接口校验结果是通过调用预设的校验服务对第一待测接口进行接口参数解析校验而获取,具体为:
8、获取第一待测接口对应的接口入参报文;其中,接口入参报文通过接口测试平台对第一待测接口进行测试而获得;接口入参报文包括接口请求报文、接口响应报文和预期响应报文的关键信息;
9、将接口请求报文以json格式存入输入字段,将接口响应报文以json格式存入输出字段,将预期响应报文的关键信息存入预期字段;
10、解析接口入参报文,获得错误码信息,并将错误码信息存入预设的校验入参字段;其中,错误码信息包括接口正常错误码、接口返回错误码和预期错误码;预设的校验入参字段包括接口正常错误码字段、接口返回错误码字段和预期错误码字段;
11、根据第一待测接口的业务特性,将第一待测接口对应的接口入参报文进行解析,获得关键参数;
12、调用输入字段、输出字段、预期字段和预设的校验入参字段中的接口数据,将接口数据和关键参数进行逻辑校验,获得第一待测接口校验结果。
13、作为优选方案,将接口数据和关键参数进行逻辑校验,获得第一待测接口校验结果,具体为:
14、比对接口返回错误码和预期错误码是否一致,若不一致,则返回第一待测接口校验结果为校验比对失败;
15、若一致,则将接口返回错误码与接口正常错误码进行比对,若比对通过,则将关键参数与字段预期值进行数据校验比较,返回第一待测接口校验结果;若比对不通过,则返回第一待测接口校验结果为校验比对失败。
16、作为优选方案,将关键参数与字段预期值进行数据校验比较,返回第一待测接口校验结果,具体为:
17、从数据源中获取关键参数对应实际值数据;其中,数据源包括数据库、日志文件和消息队列;
18、根据第一待测接口的接口设计逻辑,确定预期值获取方式,根据预期值获取方式,获得预期值数据;其中,预期值获取方式包括第一获取方式、第二获取方式和第三获取方式;
19、依次将实际值数据的每个字段与预期值数据的每个字段进行字段数据比对,若字段数据比对的过程中存在不一致的数据,则中断字段数据比对,返回第一待测接口校验结果为校验比对失败;若实际值数据的全部字段与预期值数据的全部字段的字段数据比对一致,则返回第一待测接口校验结果为校验比对成功。
20、作为优选方案,根据预期值获取方式,获得预期值数据,具体为:
21、当预期值获取方式为第一获取方式时,将入参的字段值作为预期值数据;
22、当预期值获取方式为第二获取方式时,将入参的字段值进行判断外部计算方法,获得预期值数据;
23、当预期值获取方式为第三获取方式时,根据入参的字段值,通过调用外部计算方法,获得预期值;其中,调用外部计算方法包括调用业务系统的公共函数或者请求外部接口计算。
24、为了解决相同的技术问题,本专利技术实施例还提供了一种接口测试的数据校验系统,包括:数据校验api生成模块、部署测试服务模块和待测接口校验模块;
25、其中,数据校验api生成模块用于基于第一待测接口,生成数据校验api;其中,数据校验api用于第一待测接口校验结果的获取;第一待测接口校验结果是通过调用预设的校验服务对第一待测接口进行接口参数解析校验而获取;
26、部署测试服务模块用于基于预设的计算机语言,将数据校验api部署为测试服务;
27、待测接口校验模块用于根据预设的接口测试方式,调用测试服务对第二待测接口进行数据校验,获得第本文档来自技高网...
【技术保护点】
1.一种接口测试的数据校验方法,其特征在于,包括:
2.如权利要求1所述的接口测试的数据校验方法,其特征在于,所述第一待测接口校验结果是通过调用预设的校验服务对所述第一待测接口进行接口参数解析校验而获取,具体为:
3.如权利要求2所述的接口测试的数据校验方法,其特征在于,所述将所述接口数据和所述关键参数进行逻辑校验,获得所述第一待测接口校验结果,具体为:
4.如权利要求3所述的接口测试的数据校验方法,其特征在于,所述将所述关键参数与字段预期值进行数据校验比较,返回所述第一待测接口校验结果,具体为:
5.如权利要求4所述的接口测试的数据校验方法,其特征在于,所述根据所述预期值获取方式,获得预期值数据,具体为:
6.一种接口测试的数据校验系统,其特征在于,包括:数据校验API生成模块、部署测试服务模块和待测接口校验模块;
7.如权利要求6所述的接口测试的数据校验系统,其特征在于,所述数据校验API生成模块包括入参报文单元、报文及字段单元、错误码单元、关键参数单元和逻辑校验单元;
8.一种计算机设备,其
9.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的接口测试的数据校验方法。
...【技术特征摘要】
1.一种接口测试的数据校验方法,其特征在于,包括:
2.如权利要求1所述的接口测试的数据校验方法,其特征在于,所述第一待测接口校验结果是通过调用预设的校验服务对所述第一待测接口进行接口参数解析校验而获取,具体为:
3.如权利要求2所述的接口测试的数据校验方法,其特征在于,所述将所述接口数据和所述关键参数进行逻辑校验,获得所述第一待测接口校验结果,具体为:
4.如权利要求3所述的接口测试的数据校验方法,其特征在于,所述将所述关键参数与字段预期值进行数据校验比较,返回所述第一待测接口校验结果,具体为:
5.如权利要求4所述的接口测试的数据校验方法,其特征在于,所述根据所述预期值获取方式,获得预期值数...
【专利技术属性】
技术研发人员:肖峰,李桂英,潘虎,
申请(专利权)人:易方达基金管理有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。