12

キュウリで webrat を使用しています。ページにいるときにラジオ ボタンが既にチェックされているかどうかをテストしたいと思います。どうやってやるの ?それを行うことができるwebratのステップは見つかりませんでした。

4

8 に答える 8

9
input("#my_box").should be_checked
于 2009-08-14T01:19:30.943 に答える
6

ID またはラベルを持つチェックボックスや、ラベルのテキストが変更される場所に依存できない場合があります。この場合have_selector、webrat のメソッドを使用できます。

私の作業コードから(チェックボックスにIDがありません)。

response_body.should have_selector 'input[type=radio][checked=checked][value=information]'

説明: ドキュメントの本文にチェックされたラジオ ボタン ( input[type=radio]) が含まれ、その値が「情報」である場合、テストは true を返します。

于 2009-12-16T13:54:24.453 に答える
2

web_step チェックボックスをラジオボタンに変更しました

次のステップを web_steps.rb に追加します

Then /^the "([^"]*)" radio_button(?: within "([^"]*)")? should be checked$/ do |label, selector|
  with_scope(selector) do
    field_checked = find_field(label)['checked']
    if field_checked.respond_to? :should
      field_checked.should be_true
    else
      assert field_checked
    end
  end
end

そして、次のように記述して、指定されたraidoボタンがチェックされているかどうかを確認できます

And the "Bacon" radio_button within "div.radio_container" should be checked
于 2011-03-10T11:04:15.887 に答える
1

web_steps.rb で組み込みのチェックボックス マッチャーを使用できます。

And the "Bacon" checkbox should be checked

ただし、対応するチェックボックス入力フィールドの ID と一致するラベルをチェックボックスに付ける必要があります。Rails の f.label ヘルパーは、最初の引数で ID として使用する文字列を受け取ります。フィールド名とチェックボックス名を含む文字列を作成する必要がある場合があります。

f.label "lunch_#{food_name}, food_name
f.radio_button :lunch, food_name

いずれにせよ、このディレクティブを使用して、HTML が正しいことを確認します。

Then show me the page
于 2010-01-27T21:28:35.467 に答える
1

Jesper Rønn-Jensen の関数をラップ + レールで使用される名前を追加:

Then /^I should see that "([^"]*)" is checked from "([^"]*)"$/ do |value, name|
  page.should have_selector "input[type='radio'][checked='checked'][value='#{value}'][name='#{name}']"
end
于 2011-10-04T13:01:36.637 に答える
0
    And the "Obvious choice" checkbox should be checked

ラジオボタンかもしれませんが、コードは機能します。そのテキストでラベル付けされたフィールドをチェックしているだけです。

于 2010-04-13T20:21:55.310 に答える