Я пытаюсь получить значение из атрибута в полезной нагрузке, но каратэ выдает ошибку или просто не получает значение.
Я создал упрощенную версию своего кода, чтобы сделать еголегче понять.
* def lists = [{@id: 1, type: 'video'}, {@id: 2, type: 'image'}]
* def ser = {@id: 2, type: '#string'}
* def foundAt = []
* def fun = function(x, i){ if (karate.match(x, ser).pass) foundAt.add(i) }
* eval karate.forEach(lists, fun)
* def storeId = lists[foundAt[0]].@id
* def storeType = lists[foundAt[0]].type
* print storeId
* print storeType
print storeType напечатает значение, как ожидается, но print storeId выведет следующее сообщение об ошибке:
javascript evaluation failed: lists[foundAt[0]].@id, <eval>:1:18 Expected ident but found error
lists[foundAt[0]].@id
^ in <eval> at line number 1 at column nu*mber 18
Я ожидаю, что будет напечатано значение '2', но ясно, что я делаю что-то не так?