Установите значения config.properties с помощью команды maven - PullRequest
0 голосов
/ 08 февраля 2020

Я новичок в автоматизации и создал образец проекта. У меня есть файл config.properties и класс для чтения и записи в этот файл. config.properties содержит переменные браузера и URL. Я хочу запустить тест с помощью команды mvn test и передать значение браузера во время выполнения.

что-то вроде

mvn -Dbrowser = firefox test

Я не уверен, как это сделать, поскольку эти вещи совершенно чужды мне .

Ответы [ 2 ]

2 голосов
/ 08 февраля 2020

С вашим текущим кодом вы устанавливаете временную переменную в переменных env. Чтобы это работало, вы должны go перейти в ваш класс, где вы задали строку браузера и поместили туда логическое значение. Логическое значение должно проверять, является ли значение браузера из переменной среды нулевым или нет. Если не ноль, оно должно принять это значение в качестве значения вашего браузера. И если он нулевой, он должен делать то, что вы делаете сейчас. Таким образом, вместо того, чтобы просто напрямую читать значение браузера из файла конфигурации, вы должны сделать его условным. Как то так:

String browserParamFromEnv = System.getProperty("browser");
String browser = browserParamFromEnv == null ? ConfigurationReader.getProperty("browser") : browserParamFromEnv;
1 голос
/ 08 февраля 2020

Вы можете передавать имя браузера динамически с -D в качестве префикса с системной переменной. Чтобы настроить его с помощью проекта maven, Maven Surefire plugin предоставляет параметр конфигурации для systemPropertyVariables для установки system переменных. Определенные здесь свойства будут доступны в тестах maven.

<build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.0</version>
                    <configuration>
                        <systemPropertyVariables>
                            <browser>${browserName}</browser>
                        </systemPropertyVariables>              
                    </configuration>
                </plugin>
            </plugins>
        </build>

Для установки системных переменных Dynami c вы можете использовать ${browserName}, поэтому вы можете свободно передавать любое значение в команде maven как

mvn -Dbrowser=firefox test

ИЛИ

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