使用Karate框架过滤含特定嵌套对象的JSON对象的问题求助
使用Karate框架过滤含特定嵌套对象的JSON对象的问题求助
我是个经验还比较浅的工程师,如果术语用错或者漏掉了什么明显的点,还请多多包涵。
最近在做QA自动化测试,用的是Karate框架,遇到了个棘手的问题:我需要处理接口响应里的一批JSON对象,得逐个检查每个对象里是否存在某个特定的深层嵌套对象,然后生成一个只包含那些符合条件(也就是带有这个目标嵌套对象)的元素的变量,后续要用这个变量来做预定义Schema的断言验证。
我已经试了好几种写法,比如在过滤对象的定义里给最底层的嵌套对象加上!= null的判断,但不管怎么调整,最后生成的JSON变量里还是会混进那些没有目标嵌套对象的元素,导致后续场景里的断言都没法正常通过。
我目前的代码片段大概是这样的:
* def responseObjects = $.topLevelObjects[*] // 这里还有其他一些断言逻辑 // 尝试创建过滤后的对象,只保留带有目标嵌套对象的顶层对象 // (这里的过滤代码试了好几种写法,都没达到预期效果)
想请教下各位,在Karate里有没有正确的方式实现这种过滤逻辑呀?
备注:内容来源于stack exchange,提问作者CannibalCrab
相关产品推荐
相关产品推荐

