2016-09-10 4 views
0

私は検索ページをテストしています。ユーザーはレコードを値でフィルタリングします。長い話が短い - ノード内にテキストがない要素の数を確認する必要があります(フィルタをリセットして、テキストが表示されていない要素が表示されているかどうかを確認しています)。カピバラでテキストなしの要素を選択する方法は?

テキストなしですべての要素を選択するにはどうすればよいですか?

私はこれを使用していますが、それはとにかく、すべての要素を返します。

expect(page.all('table.index tbody td.status', text: '').count).to be == 0 
+1

'page.all( 'table.index tbody td.status')を試しましたか? field.val == ''} ' –

答えて

1

:textオプションは、文字列または正規表現をとります。文字列の場合は部分文字列マッチングを行いますので、''はすべての要素に一致します。何が欲しいのは

expect(page).to have_no_css('table.index tbody td.status', text: /^$/) 

または

ある
expect(page).to have_css('table.index tbody td.status', text: /^$/, count: 0) 
時間の

99.9%あなたはかなりの結果にカウント数を呼び出すよりも、提供マッチャ(have_css、have_selector、など)を使用して方がいいでしょうall、あなたが期待通りにカピバラの待機/再試行の動作をするので、

関連する問題