Gentoo で poltergeist の remote debugging が上手く動かなかった話
Capybara の JavaScript driver の poltergeist には remote debugging なるものがあります。
昨日、テストが通らずはまっていた時に remote debugging のことを思い出してやってみるも自分の環境では動かず...
原因
remote debugging を使うには以下のように driver を登録する必要があります。
Capybara.register_driver :poltergeist_debug do |app| Capybara::Poltergeist::Driver.new(app, inspector: true) end Capybara.javascript_driver = :poltergeist_debug
そして、new
に渡す引数が inspector: true
の場合 poltergeist は以下の4つのコマンドから立ち上げるブラウザを決めるようです。
BROWSERS = %w(chromium chromium-browser google-chrome open)
参考: https://github.com/jonleighton/poltergeist/blob/master/lib/capybara/poltergeist/inspector.rb
私は Gentoo 上で google-chrome の stable を使っていて、コマンドとしては google-chrome-stable
なので上記の BROWSERS
の中には当然含まれていません。
解決方法
オプションの inspector
には文字列を渡す事ができます。なので今回は自分が使用しているgoogle-chrome-stable
を渡すことで事なきをえました。
Capybara::Poltergeist::Driver.new(app, inspector: 'google-chrome-stable')
最後に
最近 chrome のバージョンごと?(stableとかbetaとか)にパッケージがわかれたためこんなハマり方をしたのだと思いつつ、まだ落ちているテストを眺めているのでした。まる