Профиль Firefox в Selenium

Профиль Firefox в Selenium: руководство по настройке

Профиль Firefox — это набор настроек, дополнений и других параметров персонализации, которые можно применить в браузере Firefox. Также его можно настроить в соответствии с требованиями Selenium.

Одним словом, профиль — это персональные настройки пользователя. Чтобы запустить надёжную автоматизацию в браузере Firefox, рекомендуется создать отдельный профиль.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Содержание

Расположение папки профиля на диске

Профиль Firefox — это как разные пользователи, использующие браузера. В профиле сохраняются такие сведения, как пароли, закладки и предпочтения пользователя. Эти данные можно редактировать, удалять или создавать с помощью менеджера программ.

Лого 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.

Окно Run (запустить)

Обратите внимание: если окно не открывается, можно попробовать использовать полный путь:

  • На 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».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *