How to use custom Firefox Profile with Selenium? (Java) (And pass HTML Authorization Window)
I have spent a day trying to do this and decided to share it here. There is some information on the web as well but most of them are a bit complicated or not up to date...
Here is my configuration:
Firefox version: 12
Selenium version: 2.25
Language: Java
Platform: MacOS
- Open Terminal
- type:
/Applications/Firefox.app/Contents/MacOS/firefox-bin -p
( change the path as necessary ) - Create a new profile, save it in a directory as you wish..
- Start firefox with this profile, add any add-ons, modifications as you wish.
- In Selenium, use:
FirefoxBinary binary = new FirefoxBinary();
File firefoxProfileFolder = new
File("/Users/xxx/work/xxx/selenium/src/test/resources/firefoxprofile");
FirefoxProfile profile = new FirefoxProfile(firefoxProfileFolder);
profile.setAcceptUntrustedCertificates(true);
webDriver = new FirefoxDriver(binary, profile);
Again here change the absolute path as required. Add add-ons like autoAuth to pass the HTML Authorization windows in Firefox to this profile..
For Windows, to create a new Firefox Profile, type:
firefox -profilemanager
in Run that will open the Firefox Profile Manager.
Let's say you have created a profile called Selenium
, then you can use the following code:
ProfilesIni listProfiles = new ProfilesIni();
FirefoxProfile profile = listProfiles.getProfile("Selenium");
WebDriver driver = new FirefoxDriver(profile);