Я получил это работает (но с жестко закодированным индексом!)
Feature: Regression
Background:
* url demoBaseUrl
* configure headers = read('classpath:headers.js')
* def jsonFromCsv = read('data.csv')
* def counter1 = function(count) {var x = [], i = 0;while (i <= count) { x.push(i); i++;} return x}
* def size = karate.sizeOf(jsonFromCsv)
* def x1 = call counter1 size
Scenario Outline: empid: eid
Given path '/v1/emp/'+jsonFromCsv[x1[0]].eid+'/path' #something like this
When method get
Then status 200
And match response == jsonFromCsv[x1[1]].Response #something like this
Examples:
| read('data.csv') |
Но у меня есть одно сомнение, когда я использую * def jsonFromCsv = read('data.csv')
Обязательно ли иметь Examples:
| read('data.csv') |
тоже?. Потому что, когда яудалить Examples
заметил следующее исключение: line 17:23 extraneous input '<EOF>' expecting {EXAMPLES, STAR, GIVEN, WHEN, THEN, AND, BUT, TAGS}
10:59:31.511 [main] ERROR com.intuit.karate.core.FeatureParser - syntax error: extraneous input '<EOF>' expecting {EXAMPLES, STAR, GIVEN, WHEN, THEN, AND, BUT, TAGS}
Мы читаем файл здесь дважды? Или я что-то упустил?