Я использовал класс DBUtils из демонстрации карате, я знал, что этот класс не имеет ничего общего с карате. У меня есть проблема, например, в приведенном примере класс DBUtlis вызывается в фоновом режиме для каждого сценария, и его следует упомянуть во всех файлах функций. Фон :.
Все, что мы настраиваем один раз и используем эту переменную экземпляра БД во всех сценариях ios ?? Если да, пожалуйста, примеры.
Обновление после комментария Петра ниже:
config:
Главный файл функции:
Повторное использование экземпляра БД в другом файле функции
Пожалуйста, подтвердите, правильный ли это подход или нет?
Dry Выполнить для строки:
var result = karate.callSingle('classpath:featureFiles/dbBackground.feature', config);
config.PersonName = result.name;
Основная функция:
Feature: DB Background
Background:
* def name = "Sandeep";
Другая функция:
Feature: Get Account Details
Background:
* def actualname = PersonName;
@golden
Scenario: user 1 details
* def expectedFormat = read('../requestFiles/format.json')
Given url 'https://reqres.in/api/users'
And params ({id: '1'})
When method Get
Then match response.data.email == "george.bluth@reqres.in"
Then print '###################################name is: ', actualname
Then print '###################################name is: ', PersonName
Результат консоли с нулевым значением:
Обновлено Dry запуск 2:
Feature: DB Background
Background:
* def name = "Sandeep";
@golden
Scenario: user sample details
* def expectedFormat = read('../requestFiles/format.json')
Given url 'https://reqres.in/api/users'
And params ({id: '1'})
When method Get
Then match response.data.email == "george.bluth@reqres.in"
вывод:
19:31:33.416 [ForkJoinPool-1-worker-0] DEBUG com.jayway.jsonpath.internal.path.CompiledPath - Evaluating path: $['data']['email']
19:31:33.416 [ForkJoinPool-1-worker-0] INFO com.intuit.karate - [print] ###################################name is: Sandeep
19:31:33.432 [ForkJoinPool-1-worker-0] INFO com.intuit.karate - [print] ###################################name is: Sandeep