Профиль Firefox — это набор настроек, дополнений и других параметров персонализации, которые можно применить в браузере Firefox. Также его можно настроить в соответствии с требованиями Selenium.
Одним словом, профиль — это персональные настройки пользователя. Чтобы запустить надёжную автоматизацию в браузере Firefox, рекомендуется создать отдельный профиль.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание
- Расположение папки профиля на диске
- Как настроить профиль Firefox для Selenium-тестов
- Сценарий автоматизации для Selenium
Расположение папки профиля на диске
Профиль Firefox — это как разные пользователи, использующие браузера. В профиле сохраняются такие сведения, как пароли, закладки и предпочтения пользователя. Эти данные можно редактировать, удалять или создавать с помощью менеджера программ.

Расположение профиля:
- Для Windows 7 > /AppData/MozillaFirefoxProfile_name.default
- Для Linux > /.mozilla/firefox/profile_name.default/
- Для Mac OS X > ~/Library/ApplicationSupport/Firefox/Profiles/profile_name.default/
Для успешного выполнения Selenium-тестов профиль Firefox должен:
- Легко загружаться
- При необходимости иметь настройки прокси-сервера
- Иметь другие пользовательские настройки в зависимости от потребностей автоматизации
Как настроить профиль Firefox для Selenium-тестов
Рассмотрим шаг за шагом, как создать профиль Firefox.
Шаг 1. Закройте браузер Firefox, если он открыт.
Шаг 2. Откройте Run (запустить) с помощью клавиши Windows + R и введите firefox.exe -p.

Обратите внимание: если окно не открывается, можно попробовать использовать полный путь:
- На 32-битной версии Windows: «C:Program FilesMozilla Firefox.exe» -p.
- На 64-битной версии Windows: «C:Program Files(x86)Mozilla Firefox.exe» -p.
Шаг 3. Выберите профиль пользователя.

Откроется диалоговое окно с именем Firefox.
Шаг 4. Создайте профиль.

В окне выберите опцию Create Profile (создать профиль), после чего откроется Мастер. Нажмите кнопку «Далее».
Шаг 5. Указать имя профиля.

Теперь профиль готов, вы можете выбрать его и открыть Firefox.
Примечание. При следующем запуске Firefox будет автоматически загружен последний выбранный профиль. Для смены профиля необходимо перезапустить менеджер профилей.
Сценарий автоматизации для Selenium
Для доступа к только что созданному профилю Firefox с помощью Selenium Webdriver необходимо использовать встроенный класс веб-драйверов profilesIni и его метод getProfile, как показано ниже.
Этот код предназначен для реализации профиля, который можно встроить в код Selenium:
ProfilesIni profile = new ProfilesIni();
Создание объекта для профиля Firefox:
FirefoxProfile myprofile = profile.getProfile("xyzProfile");
Инициализация драйвера Firefox:
WebDriver driver = new FirefoxDriver(myprofile)
Давайте рассмотрим реализацию этого кода на примерах.
Пример 1
// import the package
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
public class FirefoxProfile {
public static void main(String[] args) {
ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("xyzProfile");
// Initialize Firefox driver
WebDriver driver = new FirefoxDriver(myprofile);
//Maximize browser window
driver.manage().window().maximize();
//Go to URL which you want to navigate
driver.get("http://www.google.com");
//Set timeout for 5 seconds so that the page may load properly within that time
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//close firefox browser
driver.close();
}
}
Ниже приведено построчное объяснение кода:
- Строки 2-7: сначала нужно импортировать пакет, необходимый для выполнения кода Selenium
- Строка 8: создание открытого класса
FirefoxProfile - Строка 9: создание объекта (необходимо иметь базовые знания об объектно-ориентированном программировании)
- Строки 10-11: инициализация профиля Firefox объектом
myProfile - Строка 13: создание объекта для Firefox
- Строка 15: максимизация окна
- Строка 17: использование
Driver.getдля перехода по указанному URL - Строка 19: установка тайм-аута, чтобы дождаться загрузки страницы перед переходом к следующей странице
- Строка 21: закрытие Firefox
Пример 2
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
public class FirefoxProfile2{
public static void main(String[] args) {
// Create object for FirefoxProfile
FirefoxProfilemyprofile=newFirefoxProfile (newFile("\c:users\AppData\MozillaFirefoxProfile_name.default "));
// Initialize Firefox driver
WebDriver driver = new FirefoxDriver(myprofile);
//Maximize browser window
driver.manage().window().maximize();
//Go to URL
driver.get("http://www.google.com");
//Set timeout
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//close firefox browser
driver.close();
}
Ниже приведено построчное пояснение кода:
- Строки 1-6: импорт пакета, необходимого для выполнения кода Selenium
- Строка 8: создание открытого класса
FirefoxProfile2 - Строка 12: создание объекта
myProfile, указывая точный путь. - Строка 14: создание объекта для Firefox
- Строка 16: максимизация окна
- Строка 18: использование
Driver.getдля перехода на заданный URL - Строка 20: установка тайм-аута, чтобы дождаться загрузки страницы перед переходом к следующей
- Строка 22: закрытие Firefox
Итог
- Автоматизация профиля Firefox необходима, так как именно он управляет настройками SSL-сертификатов.
- Профиль Firefox может быть настроен в соответствии с вашими требованиями автоматизации с помощью Selenium.
- Профиль Firefox должен легко загружаться и иметь некоторые пользовательские настройки прокси для успешного проведения теста.
- Для доступа к только что созданному профилю Firefox в Selenium необходимо использовать встроенный класс веб-драйвера
profilesIniи его методgetProfile.
Перевод статьи «Selenium Firefox Profile: Setup Guide».
