2017-02-22 78 views
0

我有一個使用Selenium WebDriver,cucumber-jvm,java的測試框架。我有BASE_URL和其他必要的屬性文件,所以我可以在我的IDE中正確地設置一切。但是在命令行呢?硒 - 黃瓜maven參數化

如何在不同的環境下解決maven的參數化問題?我想使用這樣的東西來設置功能文件中的環境和標籤。

MVN乾淨的測試-uat - @測試

,因爲我需要使用TeamCity的觸發這些測試這將是對我很重要。

謝謝!

回答

0

這是(self :))的答案,希望這有助於他人。

你可以在pom.xml中創建幾個配置文件,設置id,屬性,你可以指定任何你想要的。在這種情況下,base.url在配置文件中設置。

將以下內容添加到pom中,並且可以使用System.getproperty()方法訪問此屬性。

<plugin> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <configuration> 
      <systemProperties> 
       <base.url>${base.url}</base.url> 
      </systemProperties> 
     </configuration> 
</plugin> 
1

您可以使用-D開關傳遞cmd參數,例如mvn clean test -Dsomeproperty=uat,如果您的編譯過程中有someproperty變量或類似的東西。很難說清楚,因爲我們看不到你的代碼。 有關maven command line options的詳細信息,請參閱此處。

+0

所以,如果我沒有弄錯,我需要刪除我的財產文件,並創建maven配置文件?是的,我不想複製粘貼代碼,因爲框架非常大。我使用帶有輸入流的propertyReader來獲取每個環境的URL。但我假設,與-D參數,我無法達到我的屬性文件。 – brobee

+0

不能說,因爲我不知道你的財產文件是怎麼樣的。你的框架如何決定使用哪個環境,你如何設置這個參數? – acikojevic