Как l oop над значениями массива в каратэ - PullRequest
1 голос
/ 17 февраля 2020

Я пытаюсь l oop над значениями массива в файле каратэ. В Feature1.feature - Scenario1, у меня есть некоторые значения в массиве ["UUID1", "UUID2", "UUID3"], и я хочу вызвать другой файл объектов (Feature2.feature) (имеющий код для вызова конечной точки DELETE ) услуги

Feature2.feature:

 @ignore

Feature: Delete

  Background:

    * url baseUrl
    * headers {content-type:'application/json'}

  Scenario: Delete Test Assets

    Given headers {uid: '#(UId)', cid:'#(CId)'}
    And path 'type', Type, 'id', AssetId
    When method delete
    Then status 204

Какой подход следует использовать для Feature1.feature для вызова Feature2.feature в al oop?

1 Ответ

1 голос
/ 17 февраля 2020

Если у вас есть массив примитивов, вам необходимо преобразовать его в массив объектов JSON перед выполнением вызова l oop. Обратитесь к документации для karate.mapWithKey(): https://github.com/intuit/karate#json -преобразований

Так сделайте это:

* def data =  ["UUID1","UUID2","UUID3"]
* def data = karate.mapWithKey(data, 'uid')
* call read('second.feature') data

И в second.feature:

* headers { uid: '#(uid)' }

Конечно, при необходимости прочитайте документы для call: https://github.com/intuit/karate#data -driven-features

...