Мой вопрос очень похож на этот , но принятый ответ не соответствует моему целевому использованию:
Я хотел бы установить url
раз и навсегда в файле initialize.feature
и никогда больше не устанавливать его впоследствии. Другими словами, я не хочу загромождать все файлы объектов одним и тем же следующим утверждением:
* url baseUrl
Мое baseUrl
значение установлено на основе karate.env
, например, https://localhost
для local
среды и http://prod.env.com
для prod
. Это не меняет.
path
изменится в наших файлах объектов, потому что мы тестируем разные конечные точки.
Я попробовал следующую настройку:
config.baseUrl = 'https://localhost';
// ... code changing config.baseUrl based on karate.env == 'prod' or not
var result = karate.callSingle('classpath:utility/initialize.feature', config);
@ignore
Feature:
Scenario: Initialize
* print baseUrl
* url baseUrl
Мы видим, что baseUrl
правильно печатается при выполнении файла initialize.feature
.
Но в любой выполняемой функции впоследствии я получаю следующую ошибку:
some-test.feature:24 - url not set, please refer to the keyword documentation for 'url'
Можно ли установить url
только в моем файле initialize.feature
, и никогда после этого?
Спасибо.