Вопрос по ruby-on-rails – Как отключить надстройки в Firefox при использовании селена

9

Я использую Capybara selenium в своем проекте Rails (в системе Ubuntu 10.04) и сейчас только что обновил firefox, когда запускаю свои тесты, загружает firefox, но теперь у него установлены все надстройки и он ждет, пока я установлю каждый в первый раз.

Есть ли способ отключить все эти дополнения при запуске селена?

ИЛИ ЖЕ

Есть ли способ настроить все мои надстройки и сохранить настройки, чтобы он не отображал запросы при каждом запуске тестов?

Update

Если я перехожу на Chrome, он прекрасно работает с этим.

 Capybara.register_driver :selenium do |app|
   Capybara::Selenium::Driver.new(app, :browser => :chrome)
 end

 Capybara.javascript_driver = :selenium

Я хотел бы сделать тесты с Firefox, хотя. Я настроил тестирование. профиль под Firefox и попытался использовать его со следующим:

Capybara.register_driver :selenium_firefox_custom do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "test")
end

Capybara.default_driver = :selenium_firefox_custom

Который не работал, он все еще пытался загрузить мой профиль по умолчанию.

Я использую git-версию капибары;

capybara (1.1.2)
  mime-types (>= 1.16)
  nokogiri (>= 1.3.3)
  rack (>= 1.0.0)
  rack-test (>= 0.5.4)
  selenium-webdriver (~> 2.0)
  xpath (~> 0.1.4)

Я также пытался использовать Capybara.javascript_driver =: selenium_firefox_custom

Ни один из плагинов, которые я использую в Firefox, не запускает мастера для первого использования. Это появляется каждый раз при запуске моих тестов. map7
Вы просто хотите отключить проверку совместимости надстроек при запуске браузера? A.J
Это настройка плагинов для первого использования. Если я настрою их, хотя, когда селен закрывает браузер, все мои настройки будут забыты, и я должен сделать это снова. map7
Это из-за автообновлений? Это можно установить на вкладке «Дополнительно» в разделе «Обновление». Если он настроен для первого использования, я думаю, вам придется сделать это только один раз? Или вы используете виртуальную машину с начальным состоянием? Если нет, то я не уверен! Сожалею! Nashibukasan

Ваш Ответ

4   ответа
3

как вам нравится:

Capybara.register_driver :selenium_firefox_custom do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "custom")
end

Capybara.default_driver = :selenium_firefox_custom

В зависимости от версии, которую вы используете, API может измениться, но в значительной степени это то, что вам нужно сделать.

При использовании javascript-тестов с «js: true»; он не прослушивает этот register_driver, есть ли способ обойти это? map7
Просто используйтеjavascript_driver вместо.
4

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

Capybara.register_driver :selenium_firefox do |app|
  profile = Selenium::WebDriver::Firefox::Profile.new
  profile["extensions.update.enabled"] = false
  profile["app.update.enabled"] = false
  profile["app.update.auto"] = false
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end

Capybara.default_driver = :selenium_firefox

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

0

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

В Windows это может быть достигнуто путем подачи & quot; firefox.exe -ProfileManager -no-remote & quot; в Windows Run.

Непроверенный способ для Ubuntu - это [Alt] + [F2] и firefox -ProfileManager. Важно закрыть все окна Firefox и, возможно, убить все еще существующие процессы.

Ответ в моем посте. :)
Хорошо, я сделал "тест" профиль в firefox и отключил все мои дополнения. Как мне сказать, чтобы мой плагин rails для селена использовал 'test' apos; профиль для Firefox? map7

Похожие вопросы