Как вызвать какую-то другую функцию для каждого выполнения цикла массива json - PullRequest
1 голос
/ 12 марта 2019
    * def runOperation1 = read('classpath:ic/common/resources/operation/runOperation.feature')
* def operationInputData = read('classpath:ic/feature/streaming/TestData/operationData.json')
* def result = call runOperation1 operationInputData
 * def AllResponse = $result[*].response
 * print AllResponse

Здесь 'AllResponse' заполняется после завершения всех выполнений из массива json.Для каждого массива json нам нужно вызвать какую-то другую функцию и установить какое-либо значение.Затем нам нужно перейти к другому элементу в массиве json

1 Ответ

2 голосов
/ 12 марта 2019

Я вижу 2 способа для этого,

1, Добавьте этот дополнительный шаг вызова другой функции и утверждения также в ваш runOperation.feature

2, вместо call Создайте динамическийнабросок сценария для сценария в runOperation.feature и добавьте шаг вызова внутри этого сценария

РЕДАКТИРОВАТЬ:

Предположим, operationData.json как,

[
 {"name": "Johan"}, 
 {"name": "Ben"}
]

Предположим runOperation.feature как

Feature: run operation feature
 Scenario: run operation Scenario
     Given url "http://httpbin.org/get"
     And path name
     And method get
     And status 200

Предположим anothercall.feature как

Feature: another call feature
 Scenario: another call scenario
     Given url "http://httpbin.org/get"
     And path name
     And method delete
     And status 200

Теперь ваша текущая функция может быть,

Background:
  * def operationInputData = read('classpath:ic/feature/streaming/TestData/operationData.json')

Scenario Outline:
  # steps from runoperation.feature
  Given url "http://httpbin.org/get"
  And path <name>
  And method get
  And status 200
  # calling another feature
  Then def anotherCall = call read("anothercall.feature") {"name": <name>}
  # match / assert condition
 Examples:
 |operationInputData|

Я предлагаю перейти свторой вариант в качестве первого может привести к ненужным осложнениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...