【发布时间】:2019-11-21 18:21:41
【问题描述】:
我有一个 Java 自动化测试框架。我需要在 SIT、UAT 和 Prod 等多个环境中运行此代码,但所有这些环境都有不同的 URL。
sit-config.properties
主页 = XXX
uat-config.properties
主页 = YYY
Maven 配置文件
<profiles>
<profile>
<id>sit</id>
<activation>
<property>
<name>environment</name>
<value>sit</value>
</property>
</activation>
</profile>
<!-- mvn -Denvironment=sit clean test -->
<profile>
<id>uat</id>
<activation>
<property>
<name>environment</name>
<value>uat</value>
</property>
</activation>
</profile>
</profiles>
问题(编辑):
- 如何根据环境测试加载特定的属性文件?
- 我有一个 Java Owner 库的示例,但不是 Maven 的 testng。
http://www.testautomationguru.com/selenium-webdriver-how-to-execute-tests-in-multiple-environments/
请帮忙。谢谢。
【问题讨论】:
-
您想要的是每个环境的一个属性文件(“dev.properties”、“sit.properties”等)。每个都有相同的属性集,例如 homepage.url=XXX 。不确定它是否重复,但请参阅stackoverflow.com/questions/22757318/…
-
不要有单独的分支,而是您的测试代码应该与被测代码一起标记和发布(最好在同一个 SCM 系统中)。这是因为今天针对 Dev 运行的测试在针对 Production 运行时很可能会失败,因为 Production 处于 Dev 前一段时间的位置。因此在运行测试时,从 SCM 获取适合环境的测试套件版本,并在运行时指定环境(即要使用的属性文件)。
-
如何指定在运行时使用哪个属性文件?
-
由您决定 - 但通常在命令行上(如“-Denv=prod”)或通过在每台机器上设置的环境变量。然后使用它来构造要加载的属性文件的文件名,就像我链接到的问题一样。
-
由于您使用的是 maven,另请参阅 stackoverflow.com/questions/1149352/… 和 maven.apache.org/guides/mini/…
标签: java selenium environment