我在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
使用gem版本: capybara (2.4.4)和capybara-webkit (1.3.1)
同样的程序在mac上运行良好(使用自制软件安装的qt)
谢谢
发布于 2015-08-04 21:37:35
这个问题已经被问了很长时间了,但我也遇到了同样的问题,尽管我使用了更古老的版本。事实证明,webkit
需要能够连接到某个X服务器,如果它失败了,这就是它的反应。我最终安装了xvfb
并使用
xvfb-run --auto-servernum bundle exec rake test
(当然是别名)在运行测试时。这可能不是最优的,但对我来说已经足够好了。也许这会帮助下一个偶然发现这个错误的人。
发布于 2015-02-25 05:20:43
我整个早上都在为这事绞尽脑汁。原来我在rails_helper.rb
中省略了这段代码:
if ENV['HEADLESS']
require 'headless'
headless = Headless.new
headless.start
at_exit { headless.stop }
end
我们使用HEADLESS环境变量来触发此操作。我不确定这是典型的还是当地的惯例。无论如何,我需要在.env
中添加export HEADLESS=1
才能启动它。
我还必须在Gemfile中添加gem 'headless', '~> 1.0.2'
。
https://stackoverflow.com/questions/27148993
复制相似问题