LoginSignup
21
13

More than 5 years have passed since last update.

Capybaraで嵌ったエラー集まとめ (随時更新)

Last updated at Posted at 2017-03-31

1. PG::ConnectionBad: PQsocket() can't get socket descriptor

  • find(xxx).clickの後に画面遷移する前にテストコードが実行されてしまっている時に表示されたエラー
  • clickの後にsleepを挟めば直る
  • have_xxxとか使えば自動で待ってくれるんだろうけどうまく動かず、sleepでやり過ごしている
  • 追記 (2017/04/06) findやwithinは指定要素が表示されるまでデフォルトで2秒まで待ってくれるのでsleepを多用しない
scenario "move to hogehoge page", js: true do
  visit hogehoge_path
  find(".move-button").click
  expect(current_path).to eq fuga_path
end

2. ActiveRecord::StatementInvalid: PG::UnableToSend

  • 1と同様の理由で発生していたが、タイミングによってはこのエラーが出たりするので嵌った

3. double free or corruption

  • こちらも1と同様の理由で発生していたが、タイミングによってはこのエラーが出たりするので嵌った

4. Capybara::ElementNotFound: Unable to find css

こちらは以下の3つのいずれかに該当する時に表示される。特に非表示になっているのが原因の場合は特定に時間がかかり嵌った。

  • 対象の要素がない
  • 対象の要素が複数存在する
  • 要素が表示されていない(visible: false)

5. ActiveRecord::StatementInvalid:PG::UnableToSend: extraneous data in "T" message

  • 原因不明。稀に発生するが、基本はリトライすれば直る。

以下の記事が参考になりました。
Capybaraでハマらないために気をつけるべき4つのこと - Qiita http://qiita.com/shida/items/5ec16a1e0f07204b2a88

まだあったと思うので、今後追記します。

21
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
13