如何在使用selenium时禁用firefox中的加载项

我在我的Rails项目中使用Capybara selenium(在Ubuntu 10.04系统上),我刚刚运行我的测试firefox加载时升级了firefox,但它现在安装了所有的附加组件,它等到我设置每一个都是第一次。

有没有办法在启动selenium时禁用所有这些附加组件?

要么

有没有办法设置我的所有加载项并保存设置,以便每次运行测试时都不会提示我?

更新

如果我将其更改为使用chrome,它可以正常工作。

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

我想用firefox做测试。 我在firefox下设置了一个’test’配置文件并尝试使用以下内容:

 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

尝试使用自定义配置文件,并根据需要命名:

 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可能已更改,但这几乎是您必须要做的。

如果您不想创建必须维护的配置文件(例如:检入源控件等),您可以动态创建配置文件,如下所示:

 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 

这将创建一个动态的配置文件,不会更新浏览器版本或扩展。 希望有所帮助!

由于我不使用Ubuntu,我只能建议我的Windows解决方法。 我认为这是使用第二个没有插件的Firefox配置文件来运行selenium测试的正确方法。

在Windows中,可以通过将“firefox.exe -ProfileManager -no-remote”提供给Windows Run来实现。

Ubuntu未经测试的方法是[Alt] + [F2]和firefox -ProfileManager。 关闭所有Firefox Windows并且可能之前杀死现有进程非常重要

此链接可能可以帮助您: http : //www.seleniumwiki.com/automation-tips/how-to-disable-add-ons-pop-up-for-custom-firefox-profile/