seleniumはguard時とかにウィンドウ出てきてウザい。capybara-webkitはcapybara2系に対応してない。(reposのheadでは対応してるので次bump upされたら対応されるっぽい)
現時点ではpoltergeist一択っぽい。
ただ、Macでwebfontを読むとphantomjsがcrushするのでpatch当てる。
$ brew install phantomjs
# Gemfile:
group :test do
gem 'poltergeist'
gem 'rack-contrib'
end
# spec/spec_helper.rb:
require 'capybara/poltergeist'
RSpec.configure do |config|
Capybara.javascript_driver = :poltergeist
end
# config/initializers/poltergeist.rb:
if Rails.env.test?
require 'rack/contrib/simple_endpoint'
Rails.application.config.middleware.insert_after Rack::Runtime, Rack::SimpleEndpoint, /\.ttf$/ do |req, res|
ua = req.env['HTTP_USER_AGENT']
if ua =~ /Intel Mac OS X.*PhantomJS/
res.status = 403
"Denying #{req.fullpath} to #{ua}"
else
:pass
end
end
end
これは酷い。
この作業、@mreinschとペアプロでやってたんですがpoltergeistってドイツ語だそうです。ちなみに@hrysdがhidden fieldを「ハイデンフィールド」とドイツ語っぽく呼んでたのでドイツ語で何て言うのか聞いたら、「verstecktes felder」だそうです。全く違いました。どんな言語でも「ハイデンフィールド」は間違いだそうです。