如何解决如何在Java-Maven项目中定义环境变量?
我正在开发一种用于测试UI和API的混合框架。
我想在QA和UAT环境中执行相同的测试。我有用于qa和uat的.properties文件。还有一个将执行测试的testng.xml文件。 我有特定于环境的UI和API测试。
我想定义一个通用环境变量,该变量在执行maven执行(mvn测试)时将通过.properties文件读取器读取,然后再执行UI或API测试-如何/在何处定义此环境变量?>
解决方法
<configuration>
<environmentVariables>
<environemnt>${environemnt}</environemnt>
<browser>${browser}</browser>
</environmentVariables>
</configuration>
在pom.xml文件中的maven-surefire-plugin下添加以上配置后,可以在所需的环境和浏览器中执行所需的testng.xml文件。 例如,
,mvn测试-Denvironment = qa -Dbrowser = firefox -DsuiteXmlFile = testng_ui.xml
通常,在创建框架时(从头开始;不建议这样做,因为可以直接选择许多然后进行定制以满足需求),您应该负责读取属性文件。现在,从方程式中删除此详细信息,您可以将“通用环境变量” 直接放入pom
文件中。这是一个解决方案:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<systemProperties>
<property>
<name>myUniversalProperty</name>
<value>Same in all envs</value>
</property>
</systemProperties>
</configuration>
</plugin>
现在,这将使您可以使用System.getProperty("myUniversalProperty")
表达式读取值。请注意,在这种情况下,<value>
也可以在运行应用程序时作为命令行参数传递。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。