2014-12-30 147 views
2

我有一系列在各種瀏覽器中運行的Web測試。如果沒有安裝相應的驅動程序,我想跳過測試。檢查FirefoxDriver或ChromeDriver是否通過系統屬性安裝?

但是,這些測試將由不同的機器執行,這意味着操作系統和驅動程序設置將有所不同。我想知道是否有某種方法使用JUnit.assumeNotNull()來檢查驅動程序的系統運行值是否爲空?

例如:

@Before 
public void checkForDriver() { 
    assumeNotNull(System.getProperty("webdriver.chrome.driver")); 
} 

@Before 
public void setupCheck() {   
    assumeNotNull(System.getProperty("webdriver.safari.driver")); 
} 

這適用於Chrome和其他人,但適用於Firefox我一直都檢查 「webdriver.firefox.bin」 和「webdriver.firefox .driver「,測試仍然會跳過。我知道firefoxDriver應該工作正常(測試運行並通過,如果我刪除了假設)。

任何建議或其他好方法來檢查驅動程序/瀏覽器是否安裝?

+0

你會爲Safari驅動程序做些什麼?驅動程序作爲Safari瀏覽器插件安裝的位置? –

+0

我添加了一個我用於safari @ Ant的示例 – user2272115

回答

-1

爲了使用IE或Chrome運行Selenium,您需要在測試客戶機上安裝一些額外的二進制文件。相反,FirefoxDriver是Selenium的一個組成部分。所以如果你運行Selenium,測試FirefoxDriver是否安裝並不合理。

如果Firefox作爲瀏覽器是不是你的測試客戶端機器上安裝,您應該探測Firefox瀏覽器系統正性,而不是FirefoxDriver

+0

這與框架中的測試有關,而不是考慮客戶端。處理下載框架和運行測試的情況,以及在驅動程序和遠程構建時的情況。 我實際上檢查驅動程序和瀏覽器,因爲它們都是必需的 – user2272115

相關問題