Edited at

Capybara::Webkit::ConnectionError の対応

More than 3 years have passed since last update.

いつからかCapybaraが実行できなくなり諦めていたのですが、ふと思い立ってやってみた。

時間はかかったけど一応動くようになったのでメモ。

(追記)以下に載ってた...

https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit

【環境】

Mac OS X 10.11.6

capybara-webkit (1.7.1)

qt5.6

【エラー】

feature test 実行すると以下エラー...

Capybara::Webkit::ConnectionError:

Rails_root/vendor/bundle/ruby/2.1.0/gems/capybara-webkit-1.7.1/bin/webkit_server failed to start.

【対応】

qt5.6をアンインストールし、qt5.5をインストールする。

/usr/local/opt に qt5という名前でqt5.5のシンボリックリンクをつくる

% brew uninstall qt5

% brew install homebrew/versions/qt55
% cd /usr/local/opt
% ln -s qt55 qt5

【原因】

いろいろ調べて辿り着いたこちらの記事を参考にさせていただき(http://qiita.com/amoO_O/items/31d56493887fd0d1edac)

SERVER_PATH が指す webkit_server というのを実行したところ、

%  Rails_root/vendor/bundle/ruby/2.1.0/gems/capybara-webkit-1.7.1/bin/webkit_server

dyld: Library not loaded: /usr/local/opt/qt5/lib/QtWebKit.framework/Versions/5/QtWebKit

たしかに、

/usr/local/opt/qt5/lib/QtWebKit.framework/Versions/5/QtWebKit

はなく、stack overflowによると(http://stackoverflow.com/questions/37876987/cannot-import-qtwebkitwidgets-in-pyqt5)、

qt5.6から削除されたようです。

(きっとcapybara-webkit のバージョン上げれば問題おきないのだろうなと思うと悲しいですがしょうがない...)