У меня есть конечная точка, которая возвращает этот JSON ответ:
{
"jobs": [
{
"name": "job1",
"id": "d6bd9aa1-0708-436a-81fd-cf22d5042689",
"status": "pending"
},
{
"name": "job2",
"id": "4fdaf09f-51de-4246-88fd-08d4daef6c3e",
"status": "pending"
}
]
Я хотел бы повторно ПОЛУЧИТЬ вызов этой конечной точки, пока задание, о котором я забочусь ("job2"
), не получит "status"
"completed"
, но я хотел бы проверить это, используя UUID, сохраненный в переменной из предыдущего вызова.
, то есть сделав что-то вроде этого:
#NB: code for previous API call is executed
* def uuidVar = response.jobRef
#NB: uuidVar equates to '4fdaf09f-51de-4246-88fd-08d4daef6c3e' for this scenario
* configure retry = { count: 5, interval: 10000 }
Given path /blah
And retry until response.jobs[?(@.id==uuidVar)].status == 'completed'
When method GET
Может кто-нибудь предложить правильный синтаксис для retry until
?
Я пытался ссылаться на fantasti c документы и примеры по каратэ (в частности, js-arrays.feature
) и некоторые вопросы по SO (включая вот это: Фреймворк для каратэ, пока не работает должным образом ), но, к сожалению, я не смог заставить это работать.
Я также попытался использовать karate.match
здесь, как предложено в ссылке выше, но без сигары.
Заранее извиняюсь, если я упускаю что-то очевидное.