如何通过控制台向方法发送参数?
我有一个看起来像这样的方法:
@Test
public void test() throws InterruptedException {
botClass.Desktop(driver, "same url");
}
我想通过控制台发送String
网址参数。
例如,我希望能够在控制台中键入mvn clean test, www.google.com
,程序应该连接到Google并执行测试。
这可能吗?如果是,请就如何实现这一点给我一些建议。
答案 0 :(得分:1)
这样做:
你的scr / test / resouces中的1)放置了一个testConfig.properties:
url = ${url}
2)编写测试:
@Test
public void test() throws Exception{
String urlParam = null;
try {
Properties prop = new Properties();
InputStream input = null;
input = getClass().getClassLoader().getResourceAsStream("testConfig.properties");
prop.load(input);
urlParam = prop.getProperty("url");
}catch (Exception e){}
// use urkParam
}
你的pom.xml中的3)添加:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
</plugin>
</plugins>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
4)按如下方式运行maven:
mvn clean test resources:testResources -Durl=www.google.com
现在您将获得基于maven param的参数化网址。
答案 1 :(得分:0)
我找到了一种更简单的方法来解决它,而不会在porm文件中进行任何更改。我在班级String valueFromMaven=System.getProperty("URL");
中写道,在控制台中我用mvn clean test -DURL=www.google.com
开始测试。