Использование данных ответа от одного сценария к другому - PullRequest
1 голос
/ 30 апреля 2019

С каратэ, я хочу смоделировать сквозную структуру теста, где я делаю следующее:

  1. Сделать GET-запрос к конкретным данным
  2. Сохранить значение как def переменную
  3. Используйте эту информацию для отдельного сценария

Это то, что я имею до сих пор:

Scenario: Search for asset
    Given url "https://foo.bar.buzz"
    When method get
    Then status 200
    * def responseItem = $.items[0].id // variable initialized from the response
Scenario: Modify asset found
    Given url "https://foo.bar.buzz/" + responseItem
    // making request payload
    When method put.....

Я пытался прочитать документацию для повторного использования информации, но это, казалось, для более глубокого тестирования.

Мысли

1 Ответ

1 голос
/ 01 мая 2019

Настоятельно рекомендуется моделировать такие потоки как один сценарий. Пожалуйста, обратитесь к документации: https://github.com/intuit/karate#script-structure

Переменные, установленные с использованием def в фоновом режиме, будут сбрасываться перед каждым Сценарий. Если вы ищете способ сделать что-то только один раз за Особенность, взгляните на Callonce. С другой стороны, если вы ожидая, что переменная в фоновом режиме будет изменена одним сценарием чтобы позже можно было увидеть обновленное значение - это не так, как вы думать о них, и вы должны объединить свой «поток» в один сценарий. Имейте в виду, что вы должны иметь возможность комментировать Сценарий или пропустить некоторые с помощью тегов, не влияя на другие. Обратите внимание, что параллельный бегун будет запускать Scenario-s параллельно, что означает, что они может работать в любом порядке.

Тем не менее, возможно, Background или крючки - это то, что вы ищете: https://github.com/intuit/karate#hooks

...