我创建了一个自动化框架,我从属性文件中读取值“config.properties”。
我的config.propertioes文件包含以下内容:
BrowserName=${browser}
Environment=${env}
我正在从属性文件中读取浏览器值并将其传递给我的selenium脚本来运行它。
现在我想将“${browser}"
&&”${env}"
替换为值“ie
”&& “IT"
使用pom.xml。是否有任何方法/插件可以使用pom.xml编辑属性文件。
请建议。
@Keshava 我将按照以下建议在下面给出完整的示例: 1.有2个属性文件:◦project.properties:这是我们在存储库中提交的文件。它包含如下数据:◾project.connection.username= @@ DB_USERNAME @@ project.connection.password = @@ DB_PASSWORD @@
◦build.properties:这是我们未在存储库中提交的文件,并在每个部署环境中进行维护,无论是开发人员环境,UAT环境还是生产环境。该文件的内容如下:◾db.username= mydbuser db.password = mydbpassword
2.在项目的pom.xml中添加以下插件和执行:
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>maven-replacer-plugin</artifactId>
<version>1.3.5</version>
<executions>
<execution>
<id>replaceTokens</id>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<file>target/classes/project.properties</file>
<replacements>
<replacement>
<token>@@DB_USERNAME@@</token>
<value>${db.username}</value>
</replacement>
<replacement>
<token>@@DB_PASSWORD@@</token>
<value>${db.password}</value>
</replacement>
</replacements>
</configuration>
</plugin>
从上面我知道"@@DB_USERNAME@@"
来自"project.properties"
。但是,从哪个属性文件中将获取此"${db.username}"
值?我的pom将如何理解从哪里采取"${db.username}"
。
我是否需要在maven目标中传递此值,如下所示:
mvn clean install -Ddb.username=myuserid
答案 0 :(得分:2)
您好,您可以使用maven resource plugin。
此插件实现“Maven Filtering”。
<project>
...
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>selenium-profile-chrome</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/selenium</outputDirectory>
<resources>
<resource>
<directory>src/non-packaged-resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
...
</build>
...
</project>
答案 1 :(得分:0)
您可以尝试使用maven replacer插件 见https://code.google.com/archive/p/maven-replacer-plugin/
查看示例here