#karate
Вопрос:
Я хочу извлечь некоторые значения и сохранить их в массиве в формате JSON.
У меня есть свой код в karate-config.js файл в качестве вызываемого мной API должен вызываться только один раз, а результаты должны храниться в массиве, чтобы его можно было позже использовать в других функциях.
var result = karate.callSingle('classpath:examples/users.feature@country',config);
config.array = []
for (var i=0; i<result.response.length; i ){
config.array.push({ 'userId': result.response[i].id, 'country': result.response[i].country});
}
karate.log(config.array)
Результаты
[object Object],[object Object]
Ожидаемые Результаты
[
{
"userId" : 931,
"country" : "USA"
},
{
"userId" : 709,
"country" : "HK"
}
]
Ответ №1:
Даже если журнал показывает это таким образом, данные могут быть в порядке — есть некоторые ограничения с JSON в JS по сравнению с остальной частью Karate и Java.
Просто добавьте преобразование:
config.array = karate.toJava(config.array);
Если это не сработает, это может быть ошибка в каратэ, которую вы можете исправить.
Комментарии:
1. Спасибо, Питер. Это сработало, хотя формат не такой, как у нас в JSON.