nested - 如何验证空手道中嵌套 json 数组中的元素?
问题描述
我正在使用空手道框架来编写一些自动化测试用例。我想验证嵌套数组列表中每个元素的架构。对于下面的示例,我想验证返回数组中每个元素的每个子元素。有没有办法获取所有元素的所有子元素的数组列表?我可以通过调用一些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"
}
]
}
]
解决方案
match each
使用模式验证 JSON 数组会更方便,
* def children = $response[*].children[*]
* def schema = { "name": "#string","size": "#string","type": "#string"}
* match each children == schema
这将提取孩子的所有值并验证每个孩子是否与模式匹配
推荐阅读
- c# - 以用户身份复制和粘贴文件
- c++ - 如何解决 cplex/c++ 的加权完成时间最小化问题?
- javascript - laravel ajax 意外结束 json 输入
- c++ - 在 AddressSanitizer 中止应用程序之前采取措施
- python - 如何将 .log 文件转换为 .csv 文件
- html - 出现在悬停图像上的文本应具有与图像不同的不透明度
- r - R 来自现有长字符串的新列 - 参考表,突变 case_when 不工作
- powerbi - 有没有办法比较行并根据列替换值?
- sql - SQL Server Integration Services:如何管理多个源?
- javascript - 验证 mat-date 选择器和 mat-time-picker