Karate 是否可以提取要断言的请求中某个键值对的值
peter为我提供了一个使用空手道0.9.3应用示例断言的解决方案 我想知道是否可以从请求而不是完全请求中断言一个值Karate 是否可以提取要断言的请求中某个键值对的值,karate,Karate,peter为我提供了一个使用空手道0.9.3应用示例断言的解决方案 我想知道是否可以从请求而不是完全请求中断言一个值 **Background:** * configure headers = read('classpath:merchantServiceheaders.js') Given url MservUrl And path 'XXXXXX' And request Data When method POST Then status 200
**Background:**
* configure headers = read('classpath:merchantServiceheaders.js')
Given url MservUrl
And path 'XXXXXX'
And request Data
When method POST
Then status 200
And match response != null
And match $ contains {serviceName: 'XXXXX'Service', responseMessage:
'Success' }
And match each $.clauses..responseMessage == 'Success'
And match each $..predicate != null
And match each $..predicate == '#present'
And match each $..predicate == '#regex [^0-9]+[0-9]*$'
And match $..predicate contains Data.clauses.subject
Examples:
|Data! |
|'{"clauses":[{"subject":"XXXX","predicate":"999999"},
{"subject":"XXXXX","predicate":"99999"}]}'|
我想做的是在上匹配$…谓词包含Data.子句.subject
可能吗 是的,如果将
数据
定义为变量,则很有可能发生这种情况。但请注意,$…谓词
将始终是一个JSON数组:
如果您需要帮助,请创建一个适当的简单工作示例。示例代码:
Feature: Validation
Scenario:
* def resp = {predicate : "4325325456545646"}
* def data =
"""
{
"clauses": [
{
"subject": "5432154321543210",
"predicate": "4432154321543210"
},
{
"subject": "4325325456545646",
"predicate": "4325325456545646"
}
]
}
"""
* def sublist = get data.clauses[*].subject
* print sublist
* match sublist contains resp.predicate