Прочитайте запрос из столбца csv A и сравните ответ с столбцом B (json) в том же CSV в каратэ - PullRequest
0 голосов
/ 02 октября 2019

Я застрял при проверке следующего: сравнивая JSON в CSV с фактическим ответом от API

Feature: Regression
Background:
        * url demoBaseUrl       
        * configure headers = read('classpath:headers.js')

Scenario Outline: Compare results id: <id>
    Given path '/v1/emp/'+id+'/path'
    When method get
    Then status 200
    * def actual = response         
    And match actual== <Response>
    # And match response == <Response> -- did not work  
    #read('expected.json')
Examples:
    | read('data.csv') |

Мой data.csv имеет следующее:

data.csv

Я пытаюсь создать набор регрессии, сравнивая фактический ответ JSON от API со столбцом в csv. но получаю definition method match not found for: match исключение!

1 Ответ

0 голосов
/ 03 октября 2019

Я получил это работает (но с жестко закодированным индексом!)

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} Мы читаем файл здесь дважды? Или я что-то упустил?

...