2012-07-20 43 views
1

我有問題爲Selenium使用的Firefox設置代理。 firefox安裝是默認的(v 14.0.1,%programfiles%/ mozilla firefox /)。 我使用默認配置文件啓動了firefox,並設置了代理(我需要任何代理或手動代理,但有一個例外)。要測試的站點是可到達的。 (默認代理設置的網站無法到達)Selenium節點忽略Firefox設置並設置自己的設置配置文件不起作用

我開始默認硒節點

java -jar selenium-server-standalone-2.24.1.jar -role node -hub http://localhost:4444/grid/register 

如果我開始Selenium測試FF打開後,輸入網址,但現在我得到的代理錯誤。如果我中斷測試並檢查設置:代理服務器恢復爲默認設置。在「about:config」中,我可以看到並非所有的設置都是默認的,似乎WebDriver已經設置了一些東西(更新關閉等)。

所以我的下一個方法是設置節點有:

-firefoxProfileTemplate <my default profile folder> 

,但沒有成功 - 它似乎忽略硒是完全地。設置不同的配置文件也不起作用。

那麼如何讓我的特殊代理設置被firefox使用? (我也試了一下沒有電網,運行與當地的Firefox的測試 - 同樣的問題)

枝條從here的把戲我可以看到活動的配置文件:「anonymous3433195750899294958webdriver矚目的」 有可能讓webdriver的未使用這個?

更新:這似乎是工作的唯一的事情就是設置代理中的Java:

DesiredCapabilities FF = DesiredCapabilities.firefox(); 
Proxy proxy = new Proxy(); 
proxy.setProxyType(ProxyType.DIRECT); 
FF.setCapability(CapabilityType.PROXY, proxy); 

但這種硬編碼的解決方案是在長期來看沒辦法,我需要環境無關的代碼,此外,我想知道這是怎麼回事。

+0

我有一個類似的問題[這裏](http://code.google.com/p/selenium/issues/detail?id=3354)的 – 2012-07-20 09:34:05

+0

可能重複[一個人如何指示火狐配置文件與RemoteWebDriver](http://stackoverflow.com/questions/4379456/how-does-one-indicate-the-firefox-profile-with-remotewebdriver) – 2013-11-21 14:12:02

回答

5

可以分配給每個網格硒2節點的特定Firefox配置文件,只需設置 webdriver.firefox.profile屬性:

Java的罐子硒的服務器獨立,2.37.0.jar - Dwebdriver.firefox.profile =我的知名度-hub http://mydomain.com:4444/grid/register

  • 的webdriver.firefox.profile的值必須是Firefox的配置文件名稱,而不是位置或文件夾名稱-role節點

http://automatictester.wordpress.com/2013/04/07/selenium-running-custom-firefox-profile/

+0

我確認這項工作在Selenium 3.01上使用硒網格和Firefox 51 。 – locorecto 2017-02-15 18:02:11