我在我的Rails项目中使用Capybara selenium(在Ubuntu 10.04系统上)我现在刚刚运行我的测试firefox加载时升级了firefox但它现在安装了所有附加组件并且它等待直到我第一次设置每个。
有没有办法在启动selenium时禁用所有这些附加组件?
OR
有没有办法设置我的所有加载项并保存设置,以便每次运行测试时都不会提示我?
更新
如果我将其更改为使用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
哪个不起作用,它仍然试图加载我的默认配置文件。
我正在使用capybara的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
答案 0 :(得分: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
这将创建一个不会更新浏览器版本或扩展程序的配置文件。希望有所帮助!
答案 1 :(得分: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版本可能已更改,但这就是您必须要做的事情。
答案 2 :(得分:0)
由于我不使用Ubuntu,我只能建议我的Windows解决方法。 我认为这是使用第二个没有插件的Firefox配置文件来运行selenium测试的正确方法。
在Windows中可以通过将“firefox.exe -ProfileManager -no-remote”提供给Windows Run来实现。
Ubuntu未经测试的方式是[Alt] + [F2]和firefox -ProfileManager。
之前关闭所有Firefox Windows并杀死现有进程非常重要答案 3 :(得分:0)