Использование переменных среды в тестировании карате DSL - PullRequest
0 голосов
/ 15 октября 2018

Я хотел бы включить GitLab CI в мое Karate тестирование.Я хотел бы пройтись по тестам с разными именами пользователей и паролями, чтобы убедиться, что наши конечные точки API правильно реагируют на разных пользователей.

Учитывая это, я хотел бы иметь возможность хранить имена пользователей ипароли в качестве безопасных переменных среды в GitLab (а не в karate-config в виде простого текста) и Karate извлекают их по мере необходимости либо из karate-config, либо из файлов объектов.

ПросмотрДокументы и вопросы StackOverflow, я не видел пример, где это делается.

Обновление с новой информацией

Что касается комментария Питера ниже, то, что яМне нужно настроить его следующим образом:

установить идентификатор клиента в karate-config:
var client_id = java.lang.System.getenv('client_id');

в реальном объекте конфигурации:
clientId: client_id

В моем файле возможностей попытался получить к нему доступ:
* def client_id = clientId

К сожалению, он все еще считается нулевым.

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете читать переменные среды в каратэ, используя karate.properties,

например,

karate.properties['java.home']

Если это поможет вам прочитать переменные среды, которые вы надежно храните в своем gitlab,тогда вы можете использовать его в своем карате-конфиге для аутентификации.

Но ваша конфигурация и переменная среды будут выглядеть громоздкими, если у вас слишком много пользователей.

Если вы хотите запустить несколько функцийс несколькими пользователями, я бы посоветовал вам заглянуть в этот пост:

Можем ли мы зациклить файлы объектов и выполнить их, используя несколько пользователей для входа в каратэ

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

Используя java-взаимодействие, как предложил peter:

var systemPath = java.lang.System.getenv('PATH');

, чтобы увидеть, какие все переменные действительно выставлены, попробуйте

var evars= java.lang.System.getenv();
karate.log(evars);

и посмотрите списоквсе переменные среды.

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