roi*_*nir 6 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'
Run Code Online (Sandbox Code Playgroud)
我使用以下方法安装QT:
sudo apt-get install libqt4-dev libqtwebkit-dev libqt5webkit5-dev
Run Code Online (Sandbox Code Playgroud)
使用gem版本:capybara(2.4.4)和capybara-webkit(1.3.1)
相同的程序在mac上工作正常(使用自制软件安装qt)
谢谢
问这个问题已经有很长一段时间了,但即使我使用了更多的古代版本,我也遇到了同样的问题.事实证明,webkit需要能够连接到某个X-Server,如果它失败,这就是它的反应.我最终安装xvfb和使用
xvfb-run --auto-servernum bundle exec rake test
Run Code Online (Sandbox Code Playgroud)
(当然是别名)运行我的测试.这可能不是最佳的,但它对我来说已经足够了.也许这有助于下一个偶然发现这个错误的人.
我整个早上都在为此绞尽脑汁。事实证明我省略了这段代码rails_helper.rb:
if ENV['HEADLESS']
require 'headless'
headless = Headless.new
headless.start
at_exit { headless.stop }
end
Run Code Online (Sandbox Code Playgroud)
我们使用 HEADLESS 环境变量来触发此操作。不确定这是否是典型的或当地的惯例。无论如何,我需要添加export HEADLESS=1来.env关闭它。
我还必须添加gem 'headless', '~> 1.0.2'Gemfile。
| 归档时间: |
|
| 查看次数: |
2532 次 |
| 最近记录: |