Известен ли вам синтаксис match each
?
* def response =
"""
{
"data": {
"apple": [
{
"a": 0,
"price": 1970,
"date": "2018-05-30"
},
{
"a": 1,
"price": 1266,
"date": "2018-05-31"
},
{
"a": 2,
"price": 1422,
"date": "2018-06-01"
}
]
},
"status_code": 200
}
"""
* match each response.data.apple == { a: '#? _ < 3', price: '#number', date: '#regex \\d{4}-\\d{2}-\\d{2}'}
РЕДАКТИРОВАТЬ: если вы пытаетесь делать динамические вещи, это то, что JS-взаимодействие Карате может помочь с
# work on the second item in the array
* def index = 1
* def second = response.data.apple[index]
* match second.price = 1266