Contributing to Druska′s answer, you can do the same configuration using Selenium 2 API:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.http.phishy-userpass-length", 255);
profile.setPreference("network.automatic-ntlm-auth.trusted-uris","yourDomain");
new FirefoxDriver(profile);
This approach is simpler and you do not have to ask every developer to change their Firefox configuration. I only tested with the Firefox driver.
UPDATE:
For some reason (maybe the ones explained at https://stackoverflow.com/a/14348701/256245), the above solution does not work with newer versions of Firefox. Here is what works for me now (tested with Firefox 19.0.2):
- Install AutoAuth Firefox plugin;
- Visit the site where the authentication is needed. Enter your username and password and make sure to choose to save the credentials;
- Save AutoAuth installation file at your hard drive: at the plugin page, right click at “Add to Firefox” and “Save link as”;
Instantiate Firefox webdriver as following:
FirefoxProfile firefoxProfile = new ProfilesIni().getProfile("default");
File pluginAutoAuth = new File("src/test/resources/autoauth-2.1-fx+fn.xpi");
firefoxProfile.addExtension(pluginAutoAuth);
return new FirefoxDriver(firefoxProfile);
Make sure to instantiate the pluginAutoAuth File with the correct path where you saved the plugin installation. If you do not feel comfortable using the default profile, you can use Firefox Profile Manager and create one specific to your tests.
Reference to this new solution: http://watirmelon.com/2012/06/27/automatic-firefox-authentication-when-using-selenium-webdriver-with-autoauth/
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…