从 Maven 命令行 TestNG 更改 .properties 值

Posted

技术标签:

【中文标题】从 Maven 命令行 TestNG 更改 .properties 值【英文标题】:Change .properties values from maven command line TestNG 【发布时间】:2021-02-06 05:39:59 【问题描述】:

我的项目是基于 maven+TestNG+Selenium 的,我们的要求是从 maven 命令行编辑 src/test/resources/collector.properties 中存在的属性文件的值。请注意,我们有多个属性文件,只能在属性文件下方进行编辑

例如:mvn test -Dtest=ScenarioLogin#Login -Dreport.host=http://10.120.100.70:2023/api/reports/ -Dreport.token=akjfs3425645XXXX

使用上面的命令我应该能够更新以下值

collector.properties:

report.host = http://10.123.123.70:8080/api/

report.token=XXXXXXXX

POM.XML

        <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>$org.apache.maven.plugins.maven-compiler-plugin.version</version>
                        <configuration>
                            <encoding>UTF-8</encoding>
                            <source>$source.and.target.JVM.version</source>
                            <target>$source.and.target.JVM.version</target>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>$org.apache.maven.plugins.maven-surefire-plugin.version</version>
                        <executions>
                            <execution>
                                <phase>integration-test</phase>
                                <goals>
                                    <goal>test</goal>
                                </goals>
                              
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
        </build>

请帮忙看看如何实现,pom.xml中需要修改什么

【问题讨论】:

【参考方案1】:

看起来您想通过系统属性覆盖属性值。如果是这样,您的实现应该在解析属性时支持/注意。比如QAF-Testng-extension支持different ways of providing prop。

【讨论】:

以上是关于从 Maven 命令行 TestNG 更改 .properties 值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 maven mvn test 命令行运行动态 testng.xml?

无法编译 TestNG 测试套件(Maven+Surefire)

如何在 Eclipse 上运行 Maven 单元测试(testng)?

从命令提示符运行testng.xml。我有从Maven Project创建的jar。 Surefireplugin并没有解决我的目的

如何从maven传递java代码一个参数进行测试

更新到 MacOS Sierra 后,带有 Surefire (TestNG) 的 Maven 速度很慢