将Chrome设置为RSpec/Capybara的默认浏览器

Jac*_*aer 25 selenium rspec google-chrome capybara

我在使用Chrome在Ubuntu 13.10 64位上使用RSpec/Capybara时遇到了一些麻烦.默认情况下它启动Firefox - 我们试图通过多种方式改变它,包括:

http://actsasblog.ca/2011/09/28/how-to-use-chrome-with-capybara/

/home/.../xxx_spec.rb:8:in `<top (required)>': undefined local variable or method `“chromedriver”' for main:Object (NameError)

我们还尝试过:

require 'capybara/rspec'
require 'rspec'
require 'selenium-webdriver'

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Run Code Online (Sandbox Code Playgroud)

/home/ubuntu/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.39.0/lib/selenium/webdriver/chrome/service.rb:50:in `start': unable to connect to chromedriver http://127.0.0.1:9515 (Selenium::WebDriver::Error::WebDriverError)

使用Chrome需要另外一步吗?我是Selenium的新手.

got*_*tva 22

如果我没记错的话:

chromedriver从此资源https://code.google.com/p/selenium/wiki/ChromeDriver下载了最新版本

然后插入 spec_helper.rb

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

Capybara.javascript_driver = :chrome
Run Code Online (Sandbox Code Playgroud)

它对我有用

  • 我们不得不删除gem`chrome-helper`,然后手动运行`chromedriver`让它工作.看起来`chrome-helper`正在将自己的版本添加到路径中.您是否必须在测试前运行`chromedriver`,或者硒是否为您启动?如果我们不这样做,它只是说它无法连接到端口9515. (2认同)
  • 今天我不得不再次讨论这个问题,这次只是在OSX上.我们只能使用Brew中的`chromedriver`来工作,而不是*安装`chromedriver-helper` gem. (2认同)

hal*_*ley 18

添加此gem以Gemfile安装和更新chromedriver.

gem "chromedriver-helper", "1.0.0"
Run Code Online (Sandbox Code Playgroud)

请参阅https://github.com/flavorjones/chromedriver-helper.以前答案的评论中列出的错误已得到修复.

然后将其添加到spec_helper.rb:

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end
Run Code Online (Sandbox Code Playgroud)

而已.


Sur*_*rge 5

添加gem "chromedriver-helper"到Gemfile并运行bundle

在下面的块spec_helper.rb外面还包括下面这行代码Rspec.configure.

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end
Run Code Online (Sandbox Code Playgroud)

最重要的是,不要忘记require 'capybara'spec_helper.rb

这将解决问题.:)