初心者からの2つの質問。
Q1-IDとクラスでHTMLノードの存在を主張することはできますか?たとえば、次の要素が存在するかどうかを確認するには、次のようにします。
<div class="drawer" id="first"....>
私はあなたが次のようなものを使うことができるのを見ました:
page.should have_css('div.drawer')
page.should have_css('div#first')
しかし、どういうわけか両方のパラメーターの存在を照会できますか?私は以下を試しましたが、機能しませんでした:
page.should have_selector("div", :class => "drawer", :id => "first")
Q2-「within」capybaraメソッドに2つのセレクターを追加することは可能ですか?つまり、次のようにしてスコープを制限できることを確認しました。
within("//div[@id='first']") do
しかし、なんとかしてid = 'first'とclass = 'drawer'を追加することで、そのDIVをフィルタリングできますか?
どうもありがとう!
セレクターを組み合わせることができます。
最初の質問では、以下はIDが「first」でクラスが「drawer」のdivをチェックします。
page.should have_css('div#first.drawer')
2番目の質問では、within
ブロックは上記と同じcss-selectorを使用できます。
within('div#first.drawer') do
または、本当にxpathを好む場合は、次のことができます。
within("//div[@id='first' and @class='drawer']") do
Css-selectorsの適切なリファレンス: http://www.w3.org/TR/CSS2/selector.html