我正在传递请求,就像在我的功能文件中一样,我正在尝试从请求到响应做断言。
我尝试过必须包含查询,但是我不确定我是否做对了,请您帮忙。
**Background:**
* configure headers = read('classpath:merchantServiceheaders.js')
Given url MservUrl
And path '/spapis/rest/sp-ms-engine/sp/ms/v1/engine/scanandredact'
方案纲要:ACH低价值支付陷阱服务摘要
And request <Data>
When method POST
Then status 200
And match response != null
And print response
And match $ contains {serviceName: 'Merchant Service Scan and Redact 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 <data> contains $..clauses.subject
Examples:
|Data |
|'{"clauses":[{"subject":"5432154321543210","predicate":"4432154321543210"},{"subject":"4325325456545646","predicate":"4325325456545646"}]}'|
* { “ serviceName”:“商家服务扫描和修订服务”, “ requestTime”:1560192787991, “ responseTime”:1560192788657, “ timeTaken”:666, “ responseCode”:0, “ responseMessage”:“成功”, “ requestingAppName”:“ ISB”, “ requestingAppSealId”:“ 89784”, “条款”:[ { “ subject”:“ 5432154321543210”, “ predicate”:“ ************ 3210”, “ responseCode”:0, “ responseMessage”:“成功” }, { “ subject”:“ 4325325456545646”, “谓词”:“ ************ 5646”, “ responseCode”:0, “ responseMessage”:“成功” } ] } *
我想做的是将我在请求中所拥有的内容断言为我将要回覆的内容。
由于我在请求中传递了主题,因此应该在响应中出现同一主题
答案 0 :(得分:1)
在0.9.3版中可能:https://github.com/intuit/karate#scenario-outline-enhancements
首先将Examples:
列标题更改为data!
And request data
When method post
Then status 200
And match response contains data
在0.9.2及更早版本中,示例:列标题为data
* def data = <data>
And request data
When method post
Then status 200
And match response contains data