2017-06-27 120 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);