如何验证空手道中嵌套json数组中的元素?

时间:2019-01-12 11:40:36

标签: nested karate

我正在使用空手道框架来编写一些自动化测试用例。我想验证嵌套数组列表中每个元素的架构。对于下面的示例,我想验证返回数组中每个元素的每个子元素。有没有办法获取所有元素的所有子元素的数组列表?我可以通过调用一些Java函数来做到这一点,但是我想知道空手道是否有办法实现这一目标。

类似于“针对返回数组中的每个元素验证其每个子级的架构”。

谢谢!

[
    {
        "id": "A",
        "children": [
            {
                "size": "10",
                "type": "A",                   
                "name": "B"
            },
            {
                "size": "10",
                "type": "A",                   
                "name": "B"
            }                            
        ]
    },
    {
        "id": "B",
        "children": [
            {
                "size": "10",
                "type": "A",                   
                "name": "B"
            }, 
            }
                "size": "3",
                "type": "C",                   
                "name": "D"
            }               
        ]
    }
]

1 个答案:

答案 0 :(得分:2)

match each将更方便地使用模式验证JSON数组

* def children = $response[*].children[*]
* def schema = { "name": "#string","size": "#string","type": "#string"}
* match each children == schema

这将提取所有子代的值并验证每个子代是否与模式匹配