如何在空手道框架中断言子字符串
How to assert substring in karate framework
我收到一个 URL 数组作为响应。我想检查数组中的每个 URL 是否包含一个特定的单词。
我如何在空手道框架中检查这个?
我的回复是:
response {
"docs":[{
"url":"http://url/1.com"
"title": "some title"
},{
"url":"http://url/2.com"
"title":"ABC"
}]
}
}
现在我想检查每个 url 字段值是否包含单词 'url'。我该如何检查,因为 match each $.response.docs.url contains 'url'
对我不起作用。
请参考match each
语法。这是一个例子:
* def response = [ 'http://url-one.com', 'http://url-two.com', ]
* match each response contains 'url'
编辑 - 编辑问题后。这是您的工作示例:
* def response =
"""
{
"docs":[
{
"url":"http://url/1.com",
"title":"some title"
},
{
"url":"http://url/2.com",
"title":"ABC"
}
]
}
"""
* def urls = $response.docs[*].url
* match each urls contains '/url/'
我收到一个 URL 数组作为响应。我想检查数组中的每个 URL 是否包含一个特定的单词。 我如何在空手道框架中检查这个? 我的回复是:
response {
"docs":[{
"url":"http://url/1.com"
"title": "some title"
},{
"url":"http://url/2.com"
"title":"ABC"
}]
}
}
现在我想检查每个 url 字段值是否包含单词 'url'。我该如何检查,因为 match each $.response.docs.url contains 'url'
对我不起作用。
请参考match each
语法。这是一个例子:
* def response = [ 'http://url-one.com', 'http://url-two.com', ]
* match each response contains 'url'
编辑 - 编辑问题后。这是您的工作示例:
* def response =
"""
{
"docs":[
{
"url":"http://url/1.com",
"title":"some title"
},
{
"url":"http://url/2.com",
"title":"ABC"
}
]
}
"""
* def urls = $response.docs[*].url
* match each urls contains '/url/'