4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Rspec】非表示要素をCapybaraで検出する方法

Last updated at Posted at 2019-10-27

参考サイト:非表示要素はCapybaraのfindで検索対象になるのか
      RSpec Capybara 非表示な要素のテストにハマる


この記事は以下の環境で動作確認しています。
ruby (2.3.7)
rails (5.2.3)
capybara(3.15.1)
rspec-rails(3.8.2)


カーソルをあてないと表示されない要素や、display: none で非表示にしている要素は

expect(find('field')).to have_content('hoge') #非表示要素を検出できない

のような方法では検出できません。
have_selector, およびvisibleオプションを用いることで、上記のような非表示要素を検出できるようになります。

expect(find('.field', visible: false)).to have_content ('hoge') #非表示要素を検出できる
expect(page).to have_selector ('.field',visible: false, text: 'hoge') #非表示テキストを検出できる
expect(find('.field', visible: false)).to have_selector ('.field',visible: false, text: 'hoge') #非表示のcss要素から、非表示テキストを検出できる
4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?