Capybara Webkit Capybara :: Webkit :: ConnectionError无法启动

时间:2014-11-26 12:16:58

标签: qtwebkit capybara-webkit

我在Ubuntu(14.04 LTS)上使用了capybara webkit,我在尝试使用它时遇到以下错误:

Capybara::Webkit::ConnectionError: /srv/www/app/shared/bundle/ruby/2.1.0/gems/capybara-webkit-1.3.1/bin/webkit_server failed to start.
from /srv/www/app/shared/bundle/ruby/2.1.0/gems/capybara-webkit-1.3.1/lib/capybara/webkit/connection.rb:75:in `parse_port'
from /srv/www/app/shared/bundle/ruby/2.1.0/gems/capybara-webkit-1.3.1/lib/capybara/webkit/connection.rb:81:in `discover_port'
from /srv/www/app/shared/bundle/ruby/2.1.0/gems/capybara-webkit-1.3.1/lib/capybara/webkit/connection.rb:62:in `start_server'
from /srv/www/app/shared/bundle/ruby/2.1.0/gems/capybara-webkit-1.3.1/lib/capybara/webkit/connection.rb:25:in `initialize'
from /srv/www/app/shared/bundle/ruby/2.1.0/gems/capybara-webkit-1.3.1/lib/capybara/webkit/driver.rb:17:in `new'

我使用以下方式安装了QT:

sudo apt-get install libqt4-dev libqtwebkit-dev libqt5webkit5-dev

使用宝石版本:capybara(2.4.4)和capybara-webkit(1.3.1)

相同的程序在mac上工作正常(使用自制软件安装qt)

由于

2 个答案:

答案 0 :(得分:8)

自问这个问题已经有很长一段时间了,但即使我使用了更多古老版本的东西,我也遇到了同样的问题。事实证明,webkit需要能够连接到某个X-Server,如果它失败,这就是它的反应。我最终安装了xvfb并使用

 xvfb-run --auto-servernum bundle exec rake test
运行我的测试时,

(当然是别名)。这可能不是最佳的,但它对我来说已经足够了。也许这有助于下一个遇到此错误的人。

答案 1 :(得分:4)

我整个上午都打倒了我的头。结果我从rails_helper.rb

中省略了这段代码
if ENV['HEADLESS']
  require 'headless'
  headless = Headless.new
  headless.start
  at_exit { headless.stop }
end

我们使用HEADLESS环境变量来触发它。不确定这是典型的还是当地的惯例。无论如何,我需要将export HEADLESS=1添加到.env以解除此问题。

我还必须在Gemfile中添加gem 'headless', '~> 1.0.2'