2017-02-01 83 views
0

在我的Selenium-TestNG-Maven自動化框架中,我有用於存儲'application-url'的屬性文件。詹金斯的工作就是爲此而配置的。我必須根據需要在QA/Stage/Production服務器上運行此測試套件。但不知道如何動態提供或覆蓋代碼中使用的'application-url'屬性。 (環境Injector插件?如何?)如何在Jenkins中使用插件覆蓋屬性文件?

根據代碼,Selenium WebDriver實例在創建,然後Java代碼讀取屬性文件和Selenium實例使用相同的URL打開一個網頁。

+1

http://stackoverflow.com/a/31241715/4280359 –

回答

0

您可以配置您的jenkins從任何存儲庫(Github,SVN)和Execute Shell構建步驟中提取最新的代碼,您可以編寫shell script以實現相同。

1

我通過使用我的Jenkins作業的選擇參數動態提供URL。

首先選擇這個項目是參數,如下圖所示:

Jenkins Configuration Parameter

然後選擇添加參數>選擇參數,如下圖所示:

Choice Parameter

然後保存。

現在,當你正在建設,您將能夠選擇URL中使用該特定的構建,比如:

Choice selection

而當你需要引用網址,你可以通過它通過通過使用Maven目標中的$ URL來實現。

新增:這裏是我如何使用選擇參數的Maven目標正在使用該選擇參數通過行家定義

Maven goals

我傳遞了$ {browserName}參數的例子將使用系統屬性「瀏覽器」引用。所以當我想要得到我的代碼的價值,我只是使用

System.getProperty("browser"); 

而且我能夠訪問傳遞的參數。

+0

謝謝茉莉花的回覆。你能否詳細解釋一下如何使用這個選擇參數傳遞給Maven目標?另外,當前這個URL是在一個java屬性文件中定義的,並在代碼中讀入。我相信Jenkins的工作現在正在通過URL,因此也需要進行一些更改。 – Vijay

+0

嗨Vijay,請參閱我上面的編輯 –