ヘッドレステスト用のヘッドレスgem、xvfb、capybara-webkitを使用して、ubuntuサーバーCIボックスで一連の統合仕様を実行しようとしています。すべてがローカル開発ボックスでうまく機能しますが、CIサーバーに移動すると、物事は面白くなります。
スペックヘルパーには、次のようにヘッドレスブロック内に:js対応の統合スペックをラップするコードが少しあります。
config.around(:each, :js => true) do |example|
Headless.ly &example
end
私が言ったように、これはすべてローカル開発ボックスでうまく機能します。ヘッドレスgemとxvfbを同じユーザーとして別のプロジェクトのテストに使用しているCIで、統合仕様を実行しようとすると、仕様がブラウザーインスタンスをインスタンス化する必要がある場合に、次のエラーが発生します。
webkit_server:致命的なIOエラー:クライアントが強制終了されました
私はそのエラーの原因を突き止めようとしてきましたが、それがどこから来たのか、または問題のデバッグに役立つその他の情報を見つけることさえできません。
これまでのところ、私は以下をチェック/試行しました:
- CIユーザーは間違いなくxvfbを実行する権限を持っています
- CIユーザーとして「Xvfb:99 -ac」を実行すると、フォントが見つからないことについて1つの警告が表示され、他の問題は発生しません。
誰かがこれを引き起こしているかもしれない、または私がより多くの情報を探すことができる場所について何か考えを持っていますか?私はこれにかなり困惑しています。
ありがとう!