[发明专利]动态字段数据返回接口的测试系统、方法、电子设备和可读存储介质在审
申请号: | 201710207097.7 | 申请日: | 2017-03-31 |
公开(公告)号: | CN108664388A | 公开(公告)日: | 2018-10-16 |
发明(设计)人: | 陈晓丽 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字段 字段数据 校验 返回 期望 测试系统 校验信息 遍历 可读存储介质 电子设备 失败信息 数据包含 预定义 失败 记录 | ||
本发明提供一种动态字段数据返回接口的测试系统和方法,所述动态字段数据返回接口返回的待测数据包含字段集,每个字段是键‑值对并根据对应的预定义期望字段数据来校验,根据一个字段的键能够确定对应的期望字段数据。本发明的方法包括:接收返回的待测数据,根据设定的遍历次序对该待测数据的字段集执行遍历,并且对每个当前字段执行如下步骤:取得该当前字段的键和值;根据所述键确定与该当前字段对应的期望字段数据;提取该期望字段数据中包含校验信息;根据提取的校验信息执行对该当前字段的校验,并且当校验失败时记录该当前字段的键和相关的失败信息。
技术领域
本发明涉及动态字段数据返回接口的测试系统、方法、电子设备和可读存储介质。
背景技术
一个电商网站需要展示不同种类的商品信息,供消费者查看并选择购买,而这些商品信息在电商网站的后台系统通常以接口服务的形式提供给前台页面做展示。不同种类的商品,商品信息的内容和组织也不同。不同的商品信息字段名称不同,字段数量不同,字段间的结构关系不同。这就导致了动态结构字段数据返回接口服务的诞生。例如,一个电商平台有数千种商品类目,前台的商品详细页面会向商品服务接口发出请求,请求商品的详细信息数据。这种服务接口被称为为动态字段数据返回接口服务。
在现有技术中,动态字段数据返回接口返回的数据是对象(object),如利用Json串表示。对于这种复杂的数据结构,测试处理的实现是比较困难的。
目前,用于处理java接口服务的主流自动化测试框架是junit和testng。testng自动化测试框架对被调用接口返回的object类型处理,主要有如下2种方法:(1)assertEquals(String message,Object unexpected,Object actual)断言接口返回object是否跟预期object相同,若不同,校验失败,并且返回message信息;(2)assertNotEquals(String message,Object unexpected,Object actual)断言接口返回object是否跟预期object不同,若相同,校验失败,并且返回message信息。testng的处理方法是将接口返回待测Json和期望Json当成对象(object)来比较。为了不对接口返回object和预期object进行地址比较,需要重写object的equals方法,进而对每个字段进行比较。junit对接口返回为object类型的处理与testng是相同的。
现有技术有如下缺点:(1)对于动态字段数据返回接口服务返回的较复杂的Json格式,重写object的equal方法对各字段做比较,这要求自动化代码书写人员有很强的编码能力;(2)自动化代码对业务依赖度高,要求自动化代码编写人员必须详细了解各种业务,造成开发周期长,成本高,相应地对于业务变更等,维护成本,维护周期也会较长;(3)代码复用程度低,每分出一种业务,就需要维护相应的自动化测试代码;(4)对于一些无需校验的字段,比如数据库流水ID号等字段,不做断言处理的需求,难以实现;(5)对于现有断言,无法准确给出精确到具体字段的失败信息,导致当测试用例执行失败时,排查问题困难。
发明内容
为了解决上述问题,提出本发明。
根据本发明的一个方面,提供一种动态字段数据返回接口的测试系统,所述动态字段数据返回接口返回待测数据,所述待测数据包含字段集,每个字段是键-值对,每个字段根据对应的预定义期望字段数据来校验,根据一个字段的键能够确定对应的期望字段数据,所述系统包括:
期望数据存储模块,用于存储所述期望字段数据;
测试模块,用于接收动态字段数据返回接口返回的待测数据,根据设定的遍历顺序对该待测数据的字段集执行遍历,并且在遍历中对每个当前字段执行如下步骤:取得该当前字段的键和值;根据所述键确定与该当前字段对应的期望字段数据;提取该期望字段数据中包含的校验信息;根据提取的校验信息执行对该当前字段的校验,并且当校验失败时记录该当前字段的键和相关的失败信息,以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710207097.7/2.html,转载请声明来源钻瓜专利网。