2017-06-27 162 views
0

我正在升級我的測試以使用Selenium 3.4.0。運行了最新的鍍鉻驅動我沒有問題的考驗,當我配置的測試使用geckodriver我收到了Windows身份驗證所需的對話框:geckodriver windows身份驗證

screenshot

這裏是我的FirefoxDriver配置:

System.setProperty("webdriver.gecko.driver", "./drivers/geckodriver.exe"); 
driver = new FirefoxDriver(); 

控制檯輸出顯示以下內容:

1498596765531 geckodriver INFO Listening on 127.0.0.1:40330 
1498596766187 geckodriver::marionette INFO Starting browser \\? 
\C:\Program Files (x86)\Mozilla Firefox\firefox.exe with args ["- 
marionette"] 
: 
no] Stack trace: FileUtils_getDir()@resource://gre/modules/FileUtils.jsm:70 
< FileUtils_getFile()@resource://gre/modules/FileUtils.jsm:42 < 
validateBlocklist()@resource://gre/modules/AddonManager.jsm:674 < 
startup()@resource://gre/modules/AddonManager.jsm:837 < 
startup()@resource://gre/modules/AddonManager.jsm:3145 < 
observe()@resource://gre/components/addonManager.js:65 
1498596767838 Marionette INFO Listening on port 50529 
JavaScript error: resource://gre/modules/AddonManager.jsm, line 2572: 
NS_ERROR_NOT_INITIALIZED: AddonManager is not initialized 
Jun 27, 2017 1:52:48 PM org.openqa.selenium.remote.ProtocolHandshake 
createSession 
INFO: Detected dialect: W3C 

我不知道爲什麼我收到這個JavaScript埃羅r:

JavaScript error: resource://gre/modules/AddonManager.jsm, line 2572: NS_ERROR_NOT_INITIALIZED: AddonManager is not initialized 

爲什麼geckodriver導致windows身份驗證對話框出現的任何原因?

該網站是使用kerberos進行身份驗證的內部應用程序。

+0

請張貼geckodriver和Firefox瀏覽器的版本。另外,你爲什麼混合使用chromedriver和firefox(第一行)? – MikeJRamsey56

+0

GeckoDriver v16.1和Firefox 54.0。 MikeJRamesey56,抱歉造成混淆,複製並粘貼錯誤:)。我編輯了我的帖子。 – smit9234

+3

你可以試用Gecko v0.17.0。它提到了這一點 - 「增加network.http.phishy-userpass-length首選項的長度將導致Firefox在URL中使用用戶名或密碼導航到網站時不提示。還沒有嘗試過,雖然 –

回答

0

我能夠通過升級到3.6.0硒,然後通過下面的喜好來驅動程序來解決這個:

FirefoxProfile ffprofile = new FirefoxProfile(); 
String sitelist = "mydomain.com, https://myotherdomain.com"; 
ffprofile.setPreference("browser.tabs.remote.force-enable",true); 
ffprofile.setPreference("network.negotiate-auth.trusted-uris", sitelist); 
ffprofile.setPreference("network.negotiate-auth.delegation-uris", sitelist); 
ffprofile.setPreference("network.automatic-ntlm-auth.trusted-uris", sitelist); 
FirefoxOptions options = new FirefoxOptions(); 
options.setProfile(ffprofile);