Как запустить Firebug в Selenium WebDriver (Selenium 2)? - PullRequest
26 голосов
/ 06 августа 2010

Каков наилучший способ активировать Firebug в Firefox при запуске Selenium 2?

Редактировать: Хорошо, я понимаю, что "best" открыта для интерпретации, но решение на основе профиля действительно было неприятноселен 1,0.Так что любая альтернатива считается лучшей, пока не окажется хуже;)

Ответы [ 9 ]

47 голосов
/ 06 августа 2010

Вы можете создать свой профиль в коде и динамически добавлять необходимые дополнения.Предположим, что вы сохранили Firebug XPI в папке C: \ FF_Profile как firebug.xpi (перейдите на Страница загрузки Firebug , щелкните правой кнопкой мыши «Добавить в Firefox» и сохраните как C: \ FF_Profile \ firebug.xpi).

В коде:

   final String firebugPath = "C:\\FF_Profile\\firebug.xpi";
   FirefoxProfile profile = new FirefoxProfile();       
   profile.addExtension(new File(firebugPath));
   // Add more if needed
   WebDriver driver = new FirefoxDriver(profile);

Это описано в FAQ по WebDriver

10 голосов
/ 06 августа 2010

Вы имеете в виду, что в экземпляре браузера, который запускает веб-драйвер, установлен firebug?Если это так, вы можете передать расширение при создании экземпляра драйвера, но самый простой способ - создать профиль firefox с установленным firebug, а затем использовать следующий код перед созданием драйвера:

System.setProperty("webdriver.firefox.profile", "NAME_OF_FIREFOX_PROFILE_WITH_FIREBUG");

1 голос
/ 19 января 2013

Очевидно, способ использования параметров профиля Firefox изменился в Selenium WebDriver.

Старая командная строка (Selenium RC):

java -jar selenium-2.28.0.jar -firefoxProfileTemplate ~/.mozilla/firefox/3knu5vz0.selenium

Обновлено для WebDriver:хочет профиль имя , а не каталог)

java -jar selenium-2.28.0.jar -Dwebdriver.firefox.profile=selenium
1 голос
/ 30 ноября 2011

Просто укажите свой профиль по имени.Пример на Ruby:

@driver = Selenium::WebDriver.for :firefox, :profile => "default"

Затем нормально загрузите Firefox и добавьте нужные вам расширения.Теперь они будут отображаться в ваших тестах Selenium.

0 голосов
/ 23 апреля 2016

Я заметил, что firebug добавляет в браузер, и он отключен по умолчанию и не включается, когда я добавляю firebug в firefox во время выполнения с помощью веб-драйвера. Поэтому, чтобы включить его, нам может потребоваться добавить в профиль строку ниже.

profile.setEnableNativeEvents(true);
0 голосов
/ 04 марта 2016

Если ни один из указанных выше вариантов не работает. Тогда попробуй это.

  • 1) Откройте терминал и введите команду ниже (закройте все существующие Firefox сеансы сначала)

firefox -p

  • 2) Откроется опция для создания нового профиля Firefox.
  • 3) Создать профиль, скажем «СЕЛЕН».
  • 4) Как только Firefox откроется сразу, установите firebug или любой другой другие расширения плагинов, которые вы хотите. как только закончите, закройте окно.
  • 5) Теперь загрузите этот новый профиль через селен, используйте ниже Java заявления.

    ProfilesIni profile = new ProfilesIni ();

    FirefoxProfile ffprofile = profile.getProfile ("SELENIUM");

    Драйвер WebDriver = новый FirefoxDriver (ffprofile);

  • 6) Готово. Наслаждайтесь.

0 голосов
/ 16 марта 2015

Я нашел файл profiles.ini в ~ / .mozialla / firefox /.Там был профиль с именем default, который я указывал примерно так, а затем Firefox открывался в тесте, как я регулярно его открывал (со всеми плагинами и т. Д.).

java -jar selenium.jar -Dwebdriver.firefox.profile=default
0 голосов
/ 17 июня 2014

измените ваше местоположение Firefox на что-то вроде C: \ Users \ user-name \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ sgmqi7hy.default, запустите ваш Firefox с помощью selenium / webdriver, закройте все необходимые настройки и перезапустите браузер Firefox изселен / webdriver это все, это решает вашу проблему !!

0 голосов
/ 13 марта 2014

Предполагается, что Firebug установлен. Ваша цель - запустить Firebug. Firebug можно запустить / выполнить, нажав клавишу F12. Таким образом, Firebug может быть запущен следующей командой Selenium WebDriver с Java:

Actions action = new Actions(driver);
action.sendKeys(Keys.F12).build().perform();
...