The present invention provides a testing system and method for a dynamic field data return interface. The data returned by the dynamic field data return interface contains a set of fields, each of which is a key value pair and is checked according to the corresponding predefined expected field data, and the number of corresponding expected fields can be determined according to the key of one field. According to it. The method of the invention includes: receiving the returned test data, traversing the field set of the test data according to the set traversal order, and performing the following steps for each current field: obtaining the key and value of the current field; determining the expected field data corresponding to the current field according to the key; and extracting the expectation. The field data contains check information; the current field is checked according to the extracted check information, and the key and related failure information of the current field are recorded when the check fails.
【技术实现步骤摘要】
动态字段数据返回接口的测试系统、方法、电子设备和可读存储介质
本专利技术涉及动态字段数据返回接口的测试系统、方法、电子设备和可读存储介质。
技术介绍
一个电商网站需要展示不同种类的商品信息,供消费者查看并选择购买,而这些商品信息在电商网站的后台系统通常以接口服务的形式提供给前台页面做展示。不同种类的商品,商品信息的内容和组织也不同。不同的商品信息字段名称不同,字段数量不同,字段间的结构关系不同。这就导致了动态结构字段数据返回接口服务的诞生。例如,一个电商平台有数千种商品类目,前台的商品详细页面会向商品服务接口发出请求,请求商品的详细信息数据。这种服务接口被称为为动态字段数据返回接口服务。在现有技术中,动态字段数据返回接口返回的数据是对象(object),如利用Json串表示。对于这种复杂的数据结构,测试处理的实现是比较困难的。目前,用于处理java接口服务的主流自动化测试框架是junit和testng。testng自动化测试框架对被调用接口返回的object类型处理,主要有如下2种方法:(1)assertEquals(Stringmessage,Objectunexpected,Objectactual)断言接口返回object是否跟预期object相同,若不同,校验失败,并且返回message信息;(2)assertNotEquals(Stringmessage,Objectunexpected,Objectactual)断言接口返回object是否跟预期object不同,若相同,校验失败,并且返回message信息。testng的处理方法是将接口返回待 ...
【技术保护点】
1.一种动态字段数据返回接口的测试系统,所述动态字段数据返回接口返回待测数据,所述待测数据包含字段集,每个字段是键‑值对,每个字段根据对应的预定义期望字段数据来校验,根据一个字段的键能够确定对应的期望字段数据,所述系统包括:期望数据存储模块,用于存储所述期望字段数据;测试模块,用于接收动态字段数据返回接口返回的待测数据,根据设定的遍历顺序对该待测数据的字段集执行遍历,并且在遍历中对每个当前字段执行如下步骤:取得该当前字段的键和值;根据所述键确定与该当前字段对应的期望字段数据;提取该期望字段数据中包含的校验信息;根据提取的校验信息执行对该当前字段的校验,并且当校验失败时记录该当前字段的键和相关的失败信息,以及测试结果输出模块,用于输出所述测试模块记录的校验失败的字段的键和相关的失败信息。
【技术特征摘要】
1.一种动态字段数据返回接口的测试系统,所述动态字段数据返回接口返回待测数据,所述待测数据包含字段集,每个字段是键-值对,每个字段根据对应的预定义期望字段数据来校验,根据一个字段的键能够确定对应的期望字段数据,所述系统包括:期望数据存储模块,用于存储所述期望字段数据;测试模块,用于接收动态字段数据返回接口返回的待测数据,根据设定的遍历顺序对该待测数据的字段集执行遍历,并且在遍历中对每个当前字段执行如下步骤:取得该当前字段的键和值;根据所述键确定与该当前字段对应的期望字段数据;提取该期望字段数据中包含的校验信息;根据提取的校验信息执行对该当前字段的校验,并且当校验失败时记录该当前字段的键和相关的失败信息,以及测试结果输出模块,用于输出所述测试模块记录的校验失败的字段的键和相关的失败信息。2.根据权利要求1所述的系统,其中,所述校验信息包括字段类型、字段期望值和字段校验规则。3.根据权利要求1所述的系统,其中,所述待测数据的格式是Json格式。4.根据权利要求3所述的系统,其中,所述遍历包括对数组执行循环遍历和对对象执行递归遍历。5.根据权利要求1所述的系统,其中,对每个动态字段数据返回接口设置相应的遍历规则,使得在遍历过程中略去所述遍历规则中指定的字段而不对其执行校验。6.根据权利要求2所述的系统,其中,所述字段校验规则被设置成使得执行下述数据关系之一的校验:空验证,等于,大于,小于,包含。7.一种动态字段数据返回接口的测试方法,所述动态字段数据返回接口返回待测数据,所述待测数据包含字段集,每个字段是键-值对,每个字段根据对应的预定义期望字段数据来校验,根据一个字段的...
【专利技术属性】
技术研发人员:陈晓丽,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。