Ram*_*Ram 4 java xml eclipse maven
我正在使用 Eclipse 和 Maven 在移动网页上进行移动自动化测试。
我在 pom.xml 中定义以下内容
<properties>
<MY_VARIABLE>www.google.com/</MY_VARIABLE>
</properties>
Run Code Online (Sandbox Code Playgroud)
但是当我使用这个来调用时
String testurl1 = System.getProperty("MY_VARIABLE");
Run Code Online (Sandbox Code Playgroud)
它似乎总是返回 null。
我还尝试了以下定义变量的方法
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<systemPropertyVariables>
<MY_VARIABLE>www.google.com</MY_VARIABLE>
</systemPropertyVariables>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
但仍然得到空值。
我需要一些帮助谢谢。
您的配置将无法在 Eclipse 中工作,因为 Surefire 没有良好的 m2e 支持。Maven Surefire 插件创建了一个新进程并systemPropertyVariables为其提供了 。如果您从命令行运行测试,您的配置将起作用,例如
mvn surefire:test
Run Code Online (Sandbox Code Playgroud)
为了让它在两个世界(命令行和日食)中运行,我这样做......
src/test/resources/maven.properties编辑maven.properties文件并将您需要的属性放入其中,例如
project.build.directory=${project.build.directory}
MY_VARIABLE=${MY_VARIABLE}
Run Code Online (Sandbox Code Playgroud)为测试资源启用资源过滤
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
...
</build>
Run Code Online (Sandbox Code Playgroud)在测试中加载属性并访问它们
Properties mavenProps = new Properties();
InputStream in = TestClass.class.getResourceAsStream("/maven.properties");
mavenProps.load(in);
String buildDir = mavenProps.getProperty("project.build.directory");
String myVar = mavenProps.getProperty("MY_VARIABLE");
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
9502 次 |
| 最近记录: |