У меня есть проект Maven TestNG, который имеет файл свойств, расположенный в src/test/resources. Я хотел параметризовать определенные значения в файле свойств таким образом, чтобы они поступали из аргументов командной строки Maven (i, e mvn clean test -U -DpropertyName = propertyVal, где «$ {propertyName}» существует в файле свойств).Проект Maven TestNG, Замените значение в файле свойств аргументом командной строки Maven
Какие изменения необходимо внести в файл pom.xml для этого?
UPDATE:
Добавление pom.xml, чтобы люди могли видеть то, что я работаю с.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Test_Automation</groupId>
<artifactId>TA_ID</artifactId>
<version>1.0-SNAPSHOT</version>
<name>T_QE</name>
<properties>
<jdk.version>1.8</jdk.version>
<maven-surefire-version>2.19.1</maven-surefire-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<src.dir>src/main/java</src.dir>
<test.dir>src/test/java</test.dir>
<test.resources>src/test/resources</test.resources>
</properties>
<build>
<testResources>
<testResource>
<directory>${test.resources}</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<sourceDirectory>${src.dir}</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-version}</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>target/test-classes/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<propertyName>${propertyName}</propertyName>
</properties>
</profile>
</profiles>
UPDATE # 2: Файл свойств (находится в SRC/тест/ресурсы/configuration.properties) содержание ниже:
api.username=${propertyName}
Этот не работало. «$ {PropertyName}» в файле свойств не заменилось после запуска команды, указанной в исходном вопросе. – jsmith
он должен быть testResources в сборке. Виноват. Попробуйте сейчас –
Пробовал снова, и он все еще не работал. Я также удалил тег «resources» из pom. – jsmith