Ошибка чтения параметров командной строки gradle в karate-config. js - PullRequest
2 голосов
/ 21 января 2020

Я пытаюсь передать некоторые аргументы строки cmd из gradle для использования в karate-config. js. Cmd: ./gradlew test -Denv=qa -Dmodule=payments

Я посмотрел на https://github.com/intuit/karate#command -лайн и выполнил аналогичные шаги и поместил это в build.gradle:

test {
     ...
    systemProperty "karate.env", System.properties.getProperty("env")
    systemProperty "karate.module", System.properties.getProperty("module")
}

Теперь в каратэ config. js, у меня есть код, подобный приведенному ниже:

var environmentvar = karate.env;
var modulevar = karate.module;

Переменная окружения var (karate.env) получает правильное значение, но модуль var (karate.module) всегда отображается как неопределенный. Любые указатели о том, как это исправить?

Каратэ 0.9.4 JDK 1.8.0_231

Ответы [ 2 ]

1 голос
/ 22 января 2020

Просто не удалось распознать важную информацию о том, что доступ к karate.env работает.

Переменная среды karate.env рассматривается как специальная. Использование karate объекта для доступа к другим системным свойствам таким же образом не работает.

Вы должны прочитать доступ к системным свойствам .

Решение: Используйте karate.properties['prop.name'] для доступа системная переменная вашего модуля.

В вашем случае:

var environmentvar = karate.env;
var modulevar = karate.properties['module'];
1 голос
/ 21 января 2020

Разве вы не пропустили karate., например:

System.properties.getProperty("karate.env")
...