Массив jsons, для каждого цикла - PullRequest
1 голос
/ 13 февраля 2020
"someArray": [
   {
     "somenumber": 23232,
     "somestring": "Hello World"
     "somemorenumber: 7785454566
   },
   {
     "somenumber": 12345,
     "somestring": "Hello World"
     "somemorenumber: 542334
   },
   {
     "somenumber": 986767,
     "somestring": "Hello World"
     "somemorenumber: 242425667
   }
]

, поэтому я хотел бы l oop каждого из этих Json и выполнить проверку для "somenumber == '#number'" и "somestring == '#string'" следующим образом

for(int i = 0; i < someArray.length; i++){
match someArray[i].somenumber == '#number'
match someArray[i].somestring == '#string'
}

есть идеи, как мне этого добиться в карате?

Я пытался

 * retry until function(i) someArray[i].somestring == '#string' 

, но это остановится после первого истинного состояния.

1 Ответ

0 голосов
/ 14 февраля 2020

Пожалуйста, прочитайте документы для match each: https://github.com/intuit/karate#match -each

* match each response.someArray contains { somenumber: '#number', somestring: '#string' }

Обратите внимание, что вы также можете использовать второй файл функций, прочитайте документы: https://github.com/intuit/karate#data -driven-features

* call read('second.feature') response.someArray

А в second.feature:

Feature:

Scenario:
match somenumber == '#number'
match somestring == '#string'    

Но, очевидно, match each - это все, что вам нужно сделать. Пожалуйста, прочитайте документы, это сэкономит вам некоторое время:)

...