我们正在尝试为我们的Java Web应用程序进行Selenium测试。我们希望能够通过结合使用java函数“System.getProperty”和修改可用于测试的配置文件来快速配置我们的测试。
这样做的原因是我们可以通过简单更改netbeans中的下拉框来测试不同的服务器(从< default config>到“server name / details”)。我们的服务器运行快照,RC和修补程序分支等操作,因此这对于跟踪何时引入错误非常有帮助。
我们当前的方法是在每次运行之前修改测试变量以定位我们想要的服务器(哎!)。
任何想法都会有所帮助
答案 0 :(得分:1)
最简单的机制可能是在POM中创建由系统属性或环境变量激活的profiles。
Maven文档中的一个示例(为清晰起见,进行了少量修改):
<profiles>
<profile>
<activation>
<property>
<name>myProperty</name>
<value>test</value>
</property>
</activation>
...
</profile>
</profiles>
您可以使用以下方式手动激活:
mvn groupId:artifactId:goal -DmyProperty=test
您可以使用Maven将环境变量映射到名称为env.…
的属性(在Windows上使用大小写规范化)的事实,基于环境变量启用此功能:
<profiles>
<profile>
<activation>
<property>
<name>env.ENVIRONMENT</name>
<value>test</value>
</property>
</activation>
...
</profile>
</profiles>
你用以下方式激活:
export ENVIRONMENT=test # Does not need to be done every build, just per session
mvn groupId:artifactId:goal