在 Ubuntu 14.04LTS 上安装 capybara-webkit 时面临的问题

Posted

技术标签:

【中文标题】在 Ubuntu 14.04LTS 上安装 capybara-webkit 时面临的问题【英文标题】:Facing issue while installing capybara-webkit on Ubuntu 14.04LTS 【发布时间】:2015-02-20 09:45:30 【问题描述】:

我在 Ubuntu-14.04 LTS 上运行我的 rails 开发环境。

我已将 capybara-webkit 添加到我的捆绑器并执行了“捆绑安装”。

group :development, :test do
    gem 'factory_girl'
    gem 'rspec-rails', '~> 3.0'
    gem 'capybara'
    gem "capybara-webkit"
end

捆绑安装失败并出现错误。我做了以下并再次尝试...

sudo apt-get update
sudo apt-get install mesa-common-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libqt4-dev libqtwebkit-dev build-essential

这次“捆绑安装”成功了。没有错误。

我在“Rails 助手”中添加了以下内容并重新启动了我的 Rails 应用程序。

Capybara.javascript_driver = :webkit
Dir[Rails.root.join("spec/support/**/*.rb")].each  |f| require f 

我按照“http://robots.thoughtbot.com/automatically-wait-for-ajax-with-capybara”中给出的说明创建了一个包含以下内容的文件“spec/support/wait_for_ajax.rb”。

module WaitForAjax
  def wait_for_ajax
    Timeout.timeout(Capybara.default_wait_time) do
      loop until finished_all_ajax_requests?
    end
  end

  def finished_all_ajax_requests?
    page.evaluate_script('jQuery.active').zero?
  end
end

然后,我通过以下测试创建了一个规范文件“spec/features/guest_login_spec.rb”

feature "Guest attempt login" do
    scenario "with valid email and password", js: true do
        visit root_path
        click_on 'Login'
        wait_for_ajax
        reload_page
        expect(page).to have_css "#login"
    end
end

我尝试执行测试并收到以下错误:

Failures:

  1) Guest attempt login with valid email and password
     Failure/Error: visit root_path
     Capybara::Webkit::ConnectionError:
       /home/ubuntu/.rvm/gems/ruby-2.0.0-p576/gems/capybara-webkit-1.3.1/bin/webkit_server failed to start.
     # /home/ubuntu/.rvm/gems/ruby-2.0.0-p576/gems/capybara-webkit-1.3.1/lib/capybara/webkit/connection.rb:75:in `parse_port'

我对这个问题没有任何想法。我不确定问题出在安装、测试还是配置中。我试图在论坛中找到解决方案,但很有道理。

如果有人能帮助我在 Ubuntu 14.04LTS 上正确设置 capybara-webkit 并解决此问题,我将不胜感激。

我正在使用:

OS:        Ubuntu 14.04 LTS on x86_64
Rails:     4.1.5
Ruby:      2.0.0p576
Bundler:   1.7.3

Gemfile.lock

$ cat Gemfile.lock | grep capybara
    capybara (2.4.4)
    capybara-webkit (1.3.1)
      capybara (>= 2.0.2, < 2.5.0)
  capybara
  capybara-webkit

非常感谢,

【问题讨论】:

我正在查看完全相同的问题,使用相同的版本。你解决了吗? 感谢您提供有关如何在 Ubuntu 上安装 capybara-webkit 的步骤。 +1 【参考方案1】:

我可以在 Ubuntu 上使用 headleass gem 和 capybara-webkit 来设置它。 您可以查看这个 github issue,了解使用哪些 gem 来设置它。

【讨论】:

以上是关于在 Ubuntu 14.04LTS 上安装 capybara-webkit 时面临的问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Ubuntu 14.04LTS 上安装 capybara-webkit 时面临的问题

在 Ubuntu 14.04 LTS 上安装 Qt Creator 3.1.2

如何在Ubuntu 14.04 LTS上安装MariaDB

如何在 Ubuntu Linux 14.04 LTS 上安装php7

Ubuntu14.04LTS上安装Pip

sh 另一个docker安装在ubuntu 14.04 LTS上