2017-01-24 69 views
0

如何通過控制檯向參數發送參數?如何將參數發送給使用Maven/testng的方法?

我有一個看起來像這樣的方法:

@Test 
public void test() throws InterruptedException { 
    botClass.Desktop(driver, "same url");  
} 

我想通過控制檯將String URL參數。

例如,我希望能夠在控制檯中鍵入mvn clean test, www.google.com,並且程序應該連接到Google並執行測試。 這可能嗎?如果是的話,請給我一些關於如何實現這一點的建議。

回答

1

這樣做:

1)在SCR /測試/ resouces放置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 
    } 

3)在您的pom.xml中加入:

<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參數的URL。

+0

當我嘗試運行測試時收到錯誤 [鏈接](http://www.interload.co.il/upload/5985310.png) –

+0

確定放置您的測試方法和mvn命令..和您的屬性文件內容 –

+0

任何測試運氣?這可以肯定,你可能錯過了一些小細節 –

0

我發現了一個更簡單的方法來解決它,而無需在porm文件中做任何修改。我在我的班級String valueFromMaven=System.getProperty("URL");中寫道,在控制檯中,我開始使用mvn clean test -DURL=www.google.com進行測試。

相關問題