J'utilise Webrat avec concombre et je voudrais tester si un bouton radio est déjà vérifié lorsque je suis sur une page. Comment puis je faire ça ? Je n'ai trouvé aucune étape dans Webrat qui peut le faire. P>
8 Réponses :
input("#my_box").should be_checked
Semble que cette méthode ne fonctionne plus. J'utilise Capybara 2.4.1. La méthode Find_Field code> suggérées par @evedovelli a fait le tour.
Je suggérerais d'utiliser "devrait be_checked" mais à la place: attendez (Find_field ("my_boxt")). Pour être_checked
Il y a des cas lorsque vous ne pouvez pas compter sur les cases à cocher ayant des identifiants ou des étiquettes ou lorsque le texte de l'étiquette change. Dans ce cas, vous pouvez utiliser la méthode de mon code de travail (où je n'ai pas d'identifiants sur les cases à cocher). P> avoir_s_selector code> de webrat.
response_body.should have_selector 'input[type=radio][checked=checked][value=information]'
Vous pouvez utiliser la correspondance de la case à cocher intégrée dans web_steps.rb: Cependant, vous devez avoir une étiquette sur votre case correspondant à l'identifiant de la boîte à cocher correspondante. domaine. L'assistant F.Label in Rails prend une chaîne à utiliser comme ID dans le premier argument. Vous devrez peut-être créer une chaîne qui inclut le nom de champ et la case à cocher: p> Dans tous les cas, utilisez cette directive pour voir que vous avez le code HTML: p>
And the "Obvious choice" checkbox should be checked Although it might be a radio button, but the code will work. It is just checking for a fields labelled with that text.
Il suffit de modifier une case à cocher web_step sur le bouton radio
Ajoutez l'étape suivante à web_steps.rb p> et vous pouvez écrire ce qui suit pour vérifier si le bouton RAIDO donné est vérifié ou non p>
Jesper enveloppé Rønn-Jensen Sa fonction + Ajout du nom utilisé par les rails:
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
expect(find_field("radio_button_name")).to be_checked
Vous pouvez utiliser la méthode cochée? code> sur votre champ