Я использую карате для тестирования API, и мое текущее требование - мне нужно написать только один сценарий и обработать два ответа как его часть. Я имею в виду, что мой ответ иногда возвращает объект json, а иногда возвращает массив объекта json.
Например: первое выполнение конечной точки возвращает ответ -
{
"id": 123,
"Name: "mytest",
"Loc: "United States"
}
И во время следующего выполнения та же конечная точка возвращает ответ -
[
{
"id": 123,
"Name: "mytest",
"Loc: "United States"
},
{
"id": 456,
"Name: "mytest1",
"Loc: "United Kingdom"
}
]
Мой вариант использования - сравнить доступные ключи должны быть ['id','name','Loc']
Первоначально он просто возвращал json, поэтому я использовал karate.keysOf (response), и он работал нормально. Теперь мне нужно обработать оба моих варианта использования внутри одного сценария, поскольку он может возвращать json или массив json, и мне нужно проверить наличие ключей - если json, тогда проверьте только один раз, а если массив, то проверьте все объекты json внутри массива. Я знаю, что есть способ сделать это отдельно, но не уверен, что это можно объединить в один вариант использования. Есть ли способ, при котором я могу получить responseType как json или массив и написать два отдельных кода с условиями или каким-либо образом мой вариант использования может быть обработан.
Любая помощь будет оценена по достоинству. Заранее спасибо.