selenium/capybara - 无法加载Firefox个人资料

rec*_*nym 5 selenium ruby-on-rails capybara

当我使用selenium运行测试时,浏览器会反复弹出声明无法找到firefox配置文件.我准备了一个与selenium一起使用的Firefox配置文件我只是不确定如何告诉selenium该配置文件所在的位置.

如何告诉Selenium使用哪个firefox配置文件?

Jon*_*vin 4

我遇到了同样的错误。对我来说,事实证明是save_and_open_page我的测试中的调用导致了问题。我删除了这些,然后 Firefox 配置文件错误就停止了。

我还没有任何需要专门针对水豚/硒的特殊 Firefox 配置文件,但是,为了更彻底地回答您的问题,在尝试解决此问题时,我遇到了以下两种方法来指定 Firefox 的配置文件。

注意:这些都没有真正解决我的配置文件错误问题,但既然你问了,我还是将它们包含在这里。

方法一:( 要求项目中的每个开发人员在 Firefox 中设置特殊的配置文件。)

将以下内容添加到您的 test_helper.rb

Capybara.register_driver :my_firefox_driver do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => 'name_of_existing_profile')
end
Run Code Online (Sandbox Code Playgroud)

方法2:( 不需要项目中的每个开发人员在Firefox中设置特殊的配置文件。)

将以下内容添加到您的测试 helper.rb

require 'selenium-webdriver'

...

  Capybara.register_driver :my_firefox_driver do |app|
    profile = Selenium::WebDriver::Firefox::Profile.new
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
  end
Run Code Online (Sandbox Code Playgroud)

然后,无论您选择上述哪种方法,都将默认驱动程序设置为新驱动程序,或者通过在 Capybara.current_driver = :my_firefox_driver测试开始时放置并确保 test_helper.rb 包含一个拆卸任务来Capybara.use_default_driver选择性地使用新驱动程序,如果您按照设置说明进行操作。