2011-12-09 5 views
0

2つのコンポーネントを持つフォームのページをテストしています - 各セクションには同じラベル付きフィールドがあります。カピバラでは、ページに「名前」フィールド(have_field「Name」)があるだけでなく、実際には2つのフィールドがあることを確認したいと思います。Capybara/Rspecが複数の要素をテストしていますか?

明らかに、私はxpathでこれを行うことができますが、それは最適な解決策ではありません。 CapybaraまたはRspecに組み込まれたこれを処理するより良い方法はありますか?

答えて

1

withinをご覧ください。これは、アクションとマッチャーの両方で動作します。例:

within("#some_id") { page.should_have("some content") } 
within("#other_id") { page.should_have("some content") } 
+0

これは(この状況で)動作します。これは前に使用していたので、私は以前考えていたはずです。ただし、後で変更される可能性のあるコンテナに頼るのではなく、複数の要素を検索する一般的な方法はわかります。また、「4つ以下の名前を選択する」のように、多くの場合、同じラベルを持つ4つのフィールドがあり、それらは明確に区切られていません。 – GlyphGryph

0

私はこれがあなたが探しているものだと思います、docsを参照してください。例:

関連する問題