4

カピバラを使用すると、一生フォームのチェックボックスを選択できません。

私のリクエスト仕様では、私は試しました:

check("First Name")
page.check("First Name")
page.check("pickem_option_ids_10")
find(:css, "#pickem_option_ids_11[value='11']").set(true)
find(:css, "#pickem_option_ids_11").set(true)

私のフォームからのスニペット:

<div class="control-group check_boxes optional">
   <label class="check_boxes optional control-label">Options:</label>
   <div class="controls">
    <label class="checkbox">
     <input class="check_boxes optional" id="pickem_option_ids_10" name="pickem[option_ids][]" type="checkbox" value="10" />First Name
    </label>
    <label class="checkbox">
     <input class="check_boxes optional" id="pickem_option_ids_11" name="pickem[option_ids][]" type="checkbox" value="11" />Middle Name
    </label>
   </div>
</div>

この SO スレッドからいくつかの find() アイデアを得ました。

私は他の仕様でいくつかの成功を収めました.Activeのラベルが付いた単一のチェックボックスがあり、check("Active").

4

2 に答える 2

10

今日も同じ問題があり、周りを見回したところ、これはうまくいくようでした:

find(:xpath, "//input[@value='10']").set(true)

もちろん、「10」を任意のものに置き換えることができます。HTML を確認して値を使用してください。

それが役立つことを願っています。

于 2012-11-30T03:12:14.633 に答える
2

"First Name"HTMLが間違っているため、カピバラはチェックボックスを見つけることができません。あなたのhtmlは次のようになります

<label class="checkbox" for="pickem_option_ids_10">First Name</label>
 <input class="check_boxes optional" id="pickem_option_ids_10" name="pickem[option_ids][]" type="checkbox" value="10" />

あなたのビューコードで

= label_tag "pickem_option_ids_10", "First Name"
= check_box_tag "pickem_option_ids_10", 10

その後、check("First Name")動作するはずです。

それ以外の場合はできますfind("#pickem_option_ids_10").check

于 2012-07-18T20:25:55.930 に答える