2015-02-10 45 views
1

我正在與其他幾個使用Selenium進行自動化測試的項目進行項目。我們使用Git來共享我們的代碼,但每次我們檢查它時,我們都需要更新驅動程序的路徑,因爲它們都存在於每臺計算機上。用於不同計算機/路徑的硒webdrivers

它看起來是這樣的:

System.setProperty("webdriver.chrome.driver","C:/Path/chromedriver.exe"); 
driver = new ChromeDriver(); 

我們試圖目前正在尋找了很長時間,能不能拿出一個解決我們的問題。

回答

2

你只需告訴git假定文件沒有改變。

這也被稱爲臨時忽略文件。

你不想把它們放在.gitignore中,因爲你仍然需要這個文件,你只需告訴git暫時不注意它,所以git會忽略它,如果它在本地發生變化。

有一個關於如何在命令行中執行此操作有很好的指導here,或者如果你正在使用類似TortoiseGit您可以通過以下方式做到這一點:

  1. 檢查的文件夾中修改您的本地更改的文件駐留在中。您可以通過右鍵單擊文件夾 - > TortoiseGit - >檢查修改來完成此操作。

enter image description here

  • 選擇要暫時忽略和 「假設不變」 的文件將出現在選項中。
  • enter image description here

    請注意,這需要每一個本地機器上完成,因爲每個人都會想忽略他們已經對文件所做的更改。

    另請注意,如果您需要經常檢查與路徑相同的文件更改,我建議從單獨的文件注入路徑,而不需要經常檢查路徑。

    有獨立的恆定類一個簡單的例子是這樣的:

    SeleniumSettings.java

    public class SeleniumSettings { 
        public static final String CHROME_DRIVER_PATH = "C:/Path/chromedriver.exe"; 
    } 
    

    然後在您的原始類,你可以打電話給你的屬性設置以下列方式:

    System.setProperty("webdriver.chrome.driver",SeleniumSettings.CHROME_DRIVER_PATH); 
    driver = new ChromeDriver(); 
    

    或者:你可以創建一個臨時後期文件包含默認配置,然後每個人都會複製模板並將路徑調整爲自己的模板,並且基於該模板的調整文件可以添加到.gitignore文件中,因爲仍然會爲每個人提取模板。

    +0

    謝謝你的詳細解答!我也想過分開設置一個你不改變的設置文件。問題是,我不知道這樣的文件將如何看起來或如何實現它。 – 2015-02-10 14:38:52

    +0

    添加了一個簡單的例子,如果你需要再次做這種事情。 :) – 2015-02-10 14:49:31

    +0

    非常感謝!如果我只有它的要點,會贊成你,哈哈!無論如何,我會實際執行這一操作,因爲我相信這會進一步幫助我們。 – 2015-02-10 15:02:39

    1

    將它放在項目的文件夾中,並只提供相對路徑。 因此,這將是有點像:

    System.setProperty("webdriver.chrome.driver","webdrivers/chromedriver.exe"); 
    

    所以在這裏你可以看到webdrivers是當前項目下的文件夾。所以每個人都可以給這個相對路徑,一旦你已經檢查了chromedriver在給定的文件夾中進行混淆,它也不會要求chromedriver。但是請記住在整個團隊中保持獨特的版本。

    +0

    嗨!這工作完美!謝謝!! – 2015-02-10 14:44:05

    +0

    雖然這解決了問題,但其他答案可能會更好。通常情況下,團隊成員需要自己的配置文件,所以最好使用git內置忽略。 – Qwerty 2015-02-10 15:00:16

    +0

    事實上,你是絕對正確的。 – 2015-02-10 15:14:13