我有一個使用Selenium WebDriver,cucumber-jvm,java的測試框架。我有BASE_URL和其他必要的屬性文件,所以我可以在我的IDE中正確地設置一切。但是在命令行呢?硒 - 黃瓜maven參數化
如何在不同的環境下解決maven的參數化問題?我想使用這樣的東西來設置功能文件中的環境和標籤。
MVN乾淨的測試-uat - @測試
,因爲我需要使用TeamCity的觸發這些測試這將是對我很重要。
謝謝!
我有一個使用Selenium WebDriver,cucumber-jvm,java的測試框架。我有BASE_URL和其他必要的屬性文件,所以我可以在我的IDE中正確地設置一切。但是在命令行呢?硒 - 黃瓜maven參數化
如何在不同的環境下解決maven的參數化問題?我想使用這樣的東西來設置功能文件中的環境和標籤。
MVN乾淨的測試-uat - @測試
,因爲我需要使用TeamCity的觸發這些測試這將是對我很重要。
謝謝!
這是(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>
您可以使用-D
開關傳遞cmd參數,例如mvn clean test -Dsomeproperty=uat
,如果您的編譯過程中有someproperty
變量或類似的東西。很難說清楚,因爲我們看不到你的代碼。 有關maven command line options的詳細信息,請參閱此處。
所以,如果我沒有弄錯,我需要刪除我的財產文件,並創建maven配置文件?是的,我不想複製粘貼代碼,因爲框架非常大。我使用帶有輸入流的propertyReader來獲取每個環境的URL。但我假設,與-D參數,我無法達到我的屬性文件。 – brobee
不能說,因爲我不知道你的財產文件是怎麼樣的。你的框架如何決定使用哪個環境,你如何設置這個參數? – acikojevic