Creation of Firefox Profile in Selenium WebDriver

Creation of Firefox Profile in Selenium WebDriver

Table of Contents

What is Firefox Profile?

A Firefox profile is a user-personalized setting that consists of the user’s bookmarks, plugins, extensions, and saved passwords that can be done on the Firefox Browser. When Firefox is installed, it creates a profile folder by default in your local drive that saves information like passwords, bookmarks, etc. You can have many Firefox profiles, each profile containing a separate set of user information.

Let’s, for example, say you and your friend are using the same computer, and both of you want to see your own Firefox settings when logging in. Both users can create and access their own Firefox profile whenever they open the Firefox browser. Understanding how to manage profiles is a useful skill covered in a Selenium WebDriver course, where you learn how to configure and use different profiles for personalized browser automation.

Whenever the Firefox browser is launched with Selenium WebDriver, it opens a blank Firefox browser without bookmarks, extensions, plug-ins, etc. Sometimes we required these plug-ins bookmarks, extensions, etc. while executing the selenium test case.

What is the purpose of creating a custom Firefox profile?

  • In the Firefox profile to make the test execution more reliable we need some special settings in the Firefox profile. A common example is handling SSL certificate settings. During test execution to handle these requirements, we need to create a custom profile and to make test execution more reliable.
  • Whenever we use different profiles every time, the SSL certificates you accepted or the installed plug-ins would be different and would make the tests behave differently on the machines.
  • Always make sure that the profile which you have created is lightweight that includes only plug-ins, bookmarks, extensions, settings that are required for test execution. Every time for Firefox instance a new session is created whenever selenium starts it will copy the entire profile in some temporary directory and if the profile is big, it makes it slow and unreliable.

Finding Your Profile Folder

Based on the operating system you use your profile folder’s location depends. The location of the profile is as follows:

Operating SystemProfile Folder Path
Windows XP / 2000 / Vista / 7 / 10%AppData%MozillaFirefoxProfiles_name.default
Linux~/.mozilla/firefox/profilename.default/
Mac OS X~/Library/Application Support/Firefox/Profiles/profilename.default/

Creating a New Firefox Profile

There are three steps to create New Firefox profiles and use the same in the test script. First 

  • First we need to start the Profile Manager, 
  • Creating a New Custom Profile and 
  • Using the same profile in Test scripts.

Step 1: Starting the Profile Manager

  1. First close Firefox if it is open. Click on the File menu at the top of the Firefox window, and click Exit.
  2. Press ‘Windows Key + R’, and type firefox – p, and click the OK button.
Creation of Firefox Profile in Selenium WebDriver

Note: After clicking on the ‘OK’ button and if the Profile Manager window does not seem, it may be opened in the background that needs to be closed properly, you can use the Ctrl+Alt+Del program to kill it. If it still does not open then you can try using the full path, enclosed in quotes. 

For example:

  • “C: Program FilesMozilla Firefox.exe” –p: On 32 bit- Windows
  • Windows: “C: Program Files(x86)Mozilla Firefox.exe” –p: On 64 bit
  1. A dialogue box choose user profile window will look like
Creation of Firefox Profile in Selenium WebDriver

Step 2: Creating a Profile

  1. Click on the ‘Create Profile’ button and Choose User Profile’ window.
Creation of Firefox Profile in Selenium WebDriver
  1. Click on the ‘Next’ button in the ‘Create Profile Wizard’ window.
Creation of Firefox Profile in Selenium WebDriver
  1. Type a new name ‘profileTestQA’ in the ‘Enter new profile name’ box and click on the ‘Finish’ button. 
Creation of Firefox Profile in Selenium WebDriver
  1. A newly created profile is displayed in the ‘Choose User Profile’ window.
Creation of Firefox Profile in Selenium WebDriver
  1. Click on the ‘Start Firefox’ button. Firefox will start with the new profile.
Creation of Firefox Profile in Selenium WebDriver

Note: Once you click the Start Firefox button you will notice that the new Firefox window will not show any of your Bookmarks and Favourite icons.

Note: The last selected profile will start loading automatically when you next start Firefox and you will need to restart the Profile Manager again to change profiles.

Step 3: Using the Custom Profile in Selenium Test Script

Once the Profile is created, it needs to be called in the test scripts. To Instantiate the Firefox Driver you need to add the below code to your Test scripts.

ProfilesIni profile = new ProfilesIni();

// creating an object for the Firefox profile

FirefoxProfile myprofile = profile.getProfile(“profileTestQA”);

// initializing the Firefox driver

WebDriver driver = new FirefoxDriver(myprofile);

Let see the below examples for implementation of this code.

package Profile;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
public class FirefoxProfiles {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver", "C:\\Users\\Selenium\\geckodriver.exe");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile fireFoxProfile = profile.getProfile("abcProfile");
FirefoxOptions opt = new FirefoxOptions();
opt.setCapability(FirefoxDriver.PROFILE, fireFoxProfile);
WebDriver driver = new FirefoxDriver(opt);
driver.get("https://www.google.com");

//Set the timeout  for 5 seconds for the page to load within that time
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

System.out.println(driver.getTitle());
driver.close();
driver.quit();

}
}

Conclusion:

  • A Firefox profile is a user personalized setting that consists of the user’s bookmarks, plugins, extensions, and saved passwords that can be done on the Firefox Browser.
  • Firefox profile should be such that it must easy to load and should have some user-specific proxy settings to run the test.
  • We need to use web drivers inbuilt class ‘profilesIni’ and its method getProfile in Selenium Webdriver to use the newly created Firefox profile.

Call to Action

Ready to elevate your Selenium testing skills? Join H2K Infosys for an in-depth guide on “Creation of Firefox Profile in Selenium WebDriver.” Our expert-led course will walk you through each step of creating and customizing Firefox profiles, enabling you to control browser settings, extensions, and preferences tailored to your test scenarios.

Learn how to enhance test performance and reliability by using personalized profiles, making your scripts more robust and efficient. This training will equip you with the practical skills to tackle real-world testing challenges and optimize automation setups. Enroll with H2K Infosys today and become a skilled Selenium WebDriver professional with advanced Firefox profile techniques!

Share this article
Subscribe
By pressing the Subscribe button, you confirm that you have read our Privacy Policy.
Need a Free Demo Class?
Join H2K Infosys IT Online Training
Enroll Free demo class