2013-10-09 48 views
1

在Seleneium一個可以很容易地通過直接創建它們有沒有辦法使用DesiredCapabilities獲取Selenium WebDriver中的非遠程瀏覽器?

driver = new FirefoxDriver();

創建webdriver的對象或使用DesiredCapabilities與遠程網絡驅動程序是

DesiredCapabilities capabilities = new DesiredCapabilities.firefox(); 
capabilities.setJavascriptEnabled(true); 
driver = new RemoteWebDriver(new URL("something"), capabilities); 

我所尋找的是使用desiredcapabilties創建本地驅動對象。例如:

DesiredCapabilities capabilities = new DesiredCapabilities.firefox(); 
capabilities.setJavascriptEnabled(true); 
driver = WebDriver.getDriver(capabilities); 

我認爲這是不可能的。對此有何見解?

+1

爲什麼你需要這樣做? – Arran

+0

根據場景我想要使用本地瀏覽器(無需啓動硒服務器)或遠程瀏覽器。對於這兩種情況,我希望使用相同的所需功能來獲取匹配的瀏覽器(如果可能)。 – user1518458

回答

3

您只需做到以下幾點:

DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
capabilities.setJavascriptEnabled(true); 
driver = new FirefoxDriver(capabilities) 

希望有所幫助。

+0

但是,這隻會創建Firefox實例,對。在FirefoxDriver構造函數中使用'DesiredCapabilities.chrome()'將會失敗。我想要一個真正啓動瀏覽器的任意驅動構造函數,但只依賴於DesiredCapabilities對象。 – user1518458

+0

每個驅動程序對象類都在本地在本地初始化瀏覽器。截至目前,您不能僅僅使用這些功能自動啓動服務器。您必須至少在本地啓動服務器,並且可以使用RemoteWebDriver類創建一個具有作爲參數的功能的驅動程序對象來運行測試。 –

+0

無論誰使用這個,確保你試試看,因爲我測試了這個,它不能禁用JavaScript - 只創建一個'FirefoxProfile'工作。 – acdcjunior

相關問題