我正在使用Karate API框架进行API自动化,并遇到一种情况,这种情况是当我打了一个帖子时,它给了我一些json响应,并且很少有带有标签的项目,而很少有显示标签为空白以获取下面的所有标签是要素文件方案行
* def getTags = get response.items[*].resource.tags
它给我的答复是
[
[
],
[
],
[
{
"tags" : "Entertainment"
}
],
[
],
[
{
"tags" : "Family"
}
],
您可以看到5个或6个标签中只有2个标签具有该值,因此我想捕获是否显示了任何标签值。考虑这些标签时断言的逻辑是什么,都可以为空,有时还带有字符串值。在上述情况下,“家庭”和“娱乐”
谢谢!
答案 0 :(得分:3)
* match each response.items[*].resource.tags == "##string"
这将验证标签不存在或为字符串。
答案 1 :(得分:2)
我认为您可以使用第二个变量来清除空容器,或者您原来的JsonPath应该使用..
,您可以尝试:
* def allowed = ['Music', 'Entertainment', 'Documentaries', 'Family']
* def response =
"""
[
[
],
[
],
[
{
"tags":"Entertainment"
}
],
[
],
[
{
"tags":"Family"
}
]
]
"""
* def temp = get response..tags
* print temp
* match each temp == "#? allowed.contains(_)"