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

SELENIUM DRIVER ERROR: Cannot find firefox binary in PATH. Make sure firefox is installed

Апр09
2012
Написал Tatyana

Ошибка «WebDriverException:Cannot find firefox binary in PATH. Make sure firefox is installed» означает, что webDriver не может найти путь к бинарному файлу firefox. Эта ошибка часто возникает при использовании Windows Vista или Mac OS.

Обычно считается, что бинарный файл Firefox находится в папке по умолчанию для вашей операционной системы:

ОС Ожидаемое местонахождение Firefox
Linux firefox (found using «which»)
Mac /Applications/Firefox.app/Contents/MacOS/firefox
Windows %PROGRAMFILES%\Mozilla Firefox\firefox.exe

Во-первых, убедитесь, что Mozilla Firefox действительно установлен. Если Firefox установлен не в стандартной директории, то проблему можно решить следующим образом (Java):

System.setProperty("webdriver.firefox.bin",
"С:\\Program Files (x64)\\Mozilla Firefox\\firefox.exe");

или

WebDriver driver = new FirefoxDriver(
new FirefoxBinary(new File("С:\\Program Files (x64)\\Mozilla Firefox\\firefox.exe")),
null);

Второй параметр в данном случае это FirefoxProfile. По умолчанию, firefox driver создает анонимный профиль. Если же хочется использовать кастомизированный профиль, то:

ProfileIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("WebDriver");
profile.setPreferences("foo.bar", 23);

или, если профиль еще не зарегистрирован для Firefox, то

File profileDir = new File("path/to/top/level/of/profile");
FirefoxProfile profile = new FirefoxProfile(profileDir);
profile.addAdditionalPreferences(extraPrefs);
  • Нравится
  • Tweet

Опубликовано в Selenium - Помечено Exceptions, FirefoxDriver, Java, Selenium WebDriver
Рассказать всем Twitter Facebook Delicious StumbleUpon E-Mail
← Selenium Driver: первый проект, сборка и настройка
Скорость продвижения сайта →

8 комментариев

  1. Stanislav's Gravatar Stanislav
    19.07.2012 at 12:01 | Permalink

    А есть какая-либо возможность найти бинарник FF, вместо того чтоб хардкодить его? System.setProperty(«webdriver.firefox.bin», «С:\\Program Files (x64)\\Mozilla Firefox\\firefox.exe»);?

    • Tatyana's Gravatar Tatyana
      19.07.2012 at 18:41 | Permalink

      Готовых решений для поиска бинарника нет, можно попробовать получить путь из реестра ОС, но однозначного ответа нет, все зависит от версии ОС.
      Можно сделать код более гибким, используя, например, System.getenv

          String firefoxPath = System.getenv("ProgramFiles");
          if (null == firefoxPath) {
          	    firefoxPath = System.getenv("ProgramFiles(x86)");
          }
          firefoxPath += "\\Mozilla Firefox\\firefox.exe";
      
          driver = new FirefoxDriver(
          			new FirefoxBinary(new File(firefoxPath)),
          			null);
      

      Это конечно же только для Windows.

    • Tatyana's Gravatar Tatyana
      05.09.2012 at 10:06 | Permalink

      Как вариант, можно добавить путь к бинарнику в переменную среды PATH и перезапустить IDE. Тогда библиотека найдет его автоматически.

  2. при's Gravatar при
    26.07.2012 at 10:12 | Permalink

    А куда вставлять строчки ?

    WebDriver driver = new FirefoxDriver(
    new FirefoxBinary(new File(«С:\\Program Files (x64)\\Mozilla Firefox\\firefox.exe»)),
    null);

    Eclipse ошибки отмечает

    • Tatyana's Gravatar Tatyana
      26.07.2012 at 10:32 | Permalink

      Строчки вставлять туда, где инициализируете свой драйвер. Для общего представления — посмотрите эту статью

      Ошибки скорее всего из-за отсутствия импортов.

      import java.io.File;
      
      import org.openqa.selenium.WebDriver;
      import org.openqa.selenium.firefox.FirefoxBinary;
      import org.openqa.selenium.firefox.FirefoxDriver;
      
      • Юрий's Gravatar Юрий
        06.02.2013 at 13:18 | Permalink

        Татьяна, добрый день!
        А Вы не подскажете, код запущенный из Eclipse
        File profileDir = new File(«C:/Users/Admin/AppData/Roaming/Mozilla/Firefox/Profiles»);
        FirefoxProfile profile = new FirefoxProfile(profileDir);
        не создает профиль в %APPDATA%\Mozilla\Firefox\Profiles.
        Но при этом браузер открывается, хоят я для чистоты эксперимента удалил оттуда все профили.
        Может, он сохраняет его в другом месте? Если так, то нельзя ли сделать так, что мы один раз создаем в Eclipse профиль и потом можно его использовать?

        • Tatyana's Gravatar Tatyana
          06.02.2013 at 14:26 | Permalink

          В качестве параметра profileDir передается не путь к каталогу, в котором должен быть создан профиль, а путь к каталогу существующего профиля, который будет использоваться как образец (модель) для создания нового.

          А вообще драйвер по умолчанию создает профиль в %APPDATA%\Local\Temp, а точнее в java.io.tmpdir. Созданный профиль называется примерно так — anonymous1226035196664980621webdriver-profile.

          Но профиль создается и удаляется каждый раз после выполнения теста (может остаться только после возникновения какой-нибудь критической ошибки).

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

          • Юрий's Gravatar Юрий
            07.02.2013 at 11:24 | Permalink

            Татьяна, спасибо за ответ!
            Возможно, Вам будут интересны три способа вызвать кастомный профиль, которые можно использовать.
            //1й способ
            System.setProperty(«webdriver.firefox.profile», profileName =»SomeName»);
            webDriver = new FirefoxDriver();
            System.out.println(System.getProperty(«webdriver.firefox.profile»));

            //2й способ
            ProfilesIni profilesIni = new ProfilesIni();
            FirefoxProfile profile = profilesIni.getProfile(profileName =»SomeName»);
            webDriver = new FirefoxDriver(profile);

            //3й способ
            File profileDir = new File(«C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/kd0cmpdd.SomeName»);
            FirefoxProfile profile = new FirefoxProfile(profileDir);
            webDriver = new FirefoxDriver(profile);

            2 и 3 вариант имеют преимущество в том, что можно использовать объект FirefoxProfile для дальнейших манипуляций.

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

  • 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.

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

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