Блог вебразработчика
  • ГЛАВНАЯ
  • ПОДПИСКА

FirefoxDriver: способы создания профилей Firefox

Фев11
2013
Написал Tatyana

Selenium Driver Во время инициализации FirefoxDriver всегда происходит создание нового профиля браузера, предназначенного для тестирования. Драйвер никогда автоматически не использует ни один из профилей на Вашей локальной машине, даже тот, который установлен профилем Firefox по-умолчанию. Поэтому любые изменения в Вашем текущем профиле никак не отразятся на выполнении тестов.
Если Вы думаете, что при создании FirefoxDriver без параметров Вы не работаете с профилями, то это совершенно неверно.

driver = new FirefoxDriver();

Инициализируя драйвер вызовом такого простого конструктора, Вы все равно создаете новый профиль. Приведенный выше код полностью идентичен следующему:

FirefoxProfile profile = new FirefoxProfile();
driver = new FirefoxDriver(profile);

Новый анонимный профиль создается всегда и при любых условиях, и удаляется при завершении работы драйвера. Создание профиля происходит в темповой директории, заданной свойством java.io.tmpdir. Для Windows стандартное значение этого свойства соответствует каталогу %APPDATA%/Local/Temp. Профиль размещается в папке с префиксом «anonymous» и суффиксом «webdriver-profile», например:

anonymous3152602350088684422webdriver-profile

Для работы с профилем WebDriver предоставляет нам 2 функциональные возможности: использовать существующий профиль или создать новый. Но на самом деле, драйвер всегда создает новый профиль, поэтому использование существующего профиля — это просто возможность манипулировать созданием нового на его основе.

Рассмотрим все способы для создания профиля:

  1. Существующий профиль можно передать параметром в свойство webdriver.firefox.profile:
    System.setProperty("webdriver.firefox.profile", "profile_name");
    

    В этом случае при инициализации драйвера new FirefoxDriver() будет выполнен поиск локального профиля с именем «profile_name» и на его основе создан новый профиль для теста. В случае, если профиль не будет найден, Вы получите исключение org.openqa.selenium.WebDriverException: Firefox profile ‘profile_name’ named in system property ‘webdriver.firefox.profile’ not found.
    Если же в конструктор FirefoxDriver был явно передан профиль для запуска, то значение свойства webdriver.firefox.profile просто игнорируется.

  2. Второй способ поиска существующего профиля на машине:
    ProfilesIni allProfiles = new ProfilesIni();
    FirefoxProfile profile = allProfiles.getProfile("profile_name");
    driver = new FirefoxDriver(profile);
    

    В отличие от первого способа, в случае, если профиль с именем «profile_name» не будет найден, исключение не возникнет, переменная profile будет равна null и просто создастся новый анонимный профиль.

  3. Создание и настройка нового профиля:
    FirefoxProfile profile = new FirefoxProfile();
    driver = new FirefoxDriver(profile);
    

    В этом случае происходит создание анонимного профиля, как если бы мы не вмешивались в создание профиля вовсе. Но инициализируя драйвер таким образом, мы получаем доступ к создаваемому профилю и можем задавать его настройки.

  4. Конструктор FirefoxProfile в качестве переменной может также принимать существующий профиль, чтобы используя его за основу, создать новый. Преимущества перед способами 1 и 2 очевидны: такой профиль не должен быть установлен на локальной машине, он может быть просто прикреплен к проекту и свободно перемещаться вместе с ним:
    File profileDir = new File("src/test/resources/my_profile");
    FirefoxProfile profile = new FirefoxProfile(profileDir);
    driver = new FirefoxDriver(profile);
    

Чаще всего доступ к профилям используется для активации всевозможных плагинов, настройки нативных событий или обработки SSL сертификатов.

  • Нравится
  • Tweet

Опубликовано в Selenium - Помечено FirefoxDriver
Рассказать всем Twitter Facebook Delicious StumbleUpon E-Mail
← Thucydides: ожидание выполнения AJAX
Hibernate: основные типы данных →

Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/u0420283/data/www/internetka.in.ua/wp-includes/class-wp-comment-query.php on line 405

1 комментарий

  1. Иван's Gravatar Иван
    10.10.2013 at 05:11 | Permalink

    Татьяна, у Вас очень крутые статьи для быстрого освоения работы с WebDriver-ом. Что-то от Вас давно нет новый постов.. Читатели переживают:)

Свежие записи

  • WebDriver и SSL Untrusted certificate
  • Видеозапись выполнения тестов Selenium
  • Selenium WebDriver: basic авторизация
  • BrowserMob Proxy + Selenium: автоматизация сбора данных о производительности
  • Hibernate 4: UserType пользовательский тип данных (часть 2)

Поиск

Рубрики

  • Hibernate ORM
  • SEO
  • Разное
  • Тестирование
    • JUnit
    • Selenium
    • Thucydides

Метки

Actions AJAX Alert AutoIt ChromeDriver Exceptions ExpectedConditions FindElement FirefoxDriver Hibernate InternetExplorerDriver Java Javascript Jenkins JUnit4 Maven PageFactory Page Object RemoteWebDriver Select Selenium IDE Selenium Server Selenium WebDriver switchTo Thucydides WebDriverWait XPath Автоматизированное тестирование база данных заработок в сети сеть Интернет скорость продвижения сайта статейное продвижение услуги продвижения

Реклама


Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.

Блог вебразработчика
Функциональное тестирование и продвижение сайтов

Яндекс.Метрика