ウェブサービスを作っています。

capybara-webkit を debian の CI サーバで動かす (headless)

まず、Qt と xvfb を入れます。

sudo aptitude install libqt4-dev xvfb


Gemfile に、headless gem を追加します。

group :test do
  ...
  gem 'capybara'
  gem 'database_cleaner'
  gem 'launchy'
  gem 'capybara-webkit'
  gem 'headless'
  ...
end


spec/spec_helper.rb に、headless の設定を追加します。

DatabaseCleaner.strategy = :truncation
Capybara.javascript_driver = :webkit

# headless の設定
if Headless::CliUtil.application_exists?('Xvfb')
  headless = Headless.new
  headless.start
end

RSpec.configure do |config|
  ...
  config.before { DatabaseCleaner.start }
  config.after { DatabaseCleaner.clean }
  ...
end


以上です。