「その他」オプションのある複数のチェックボックスフィールドを持つフォームでカピバラを使用しています。Capybara API は私たちに
page.check('Other')
しかし、スコープを特定のフィールドに制限する方法はありません(私が見つけることができます)。CSS (または XPath) セレクターに基づいてスコープを制限できますが、意味のあるものが存在しないため、カピバラに対応するためだけにページの (醜いレガシー) マークアップを変更する必要がありますが、これは間違った解決策のようです。(完璧な世界では、マークアップを完全にリファクタリングする時間があり、カピバラのスコープを選択する方法も提供する意味的に賢明なものが完成しますが、これは完璧な世界ではなく、私は望んでいませんカピバラを収容するすべての場所で授業に参加するだけです。)
これ
page.within('[name=FieldName]') do
page.check('Other')
end
カピバラはスコープとして使用できる単一の親ノードを探しており、これにより一連のチェックボックスが提供されるため、これも機能しません。(カピバラがそれをサポートしていればいいのですが、そうではありません。) 検索するためにカードのデッキを渡しているようなもので、カピバラはカードが入るボックスを望んでいますが、ボックスがありません.
このようなことができるようになりたいです
page.check('Other', :in => 'FieldName')
しかし、とにかくそれを行う方法が見つかりません。私が知る限り、渡すことができる唯一のオプションは、、、text
およびvisible
ですexact
。何か不足していますか?い回避策に頼らずにこれを行う方法はありますか?