Как проверить переключатель в cucumber?

#ruby-on-rails #cucumber #capybara

#ruby-on-rails #cucumber #capybara

Вопрос:

Я использую cucumber с RoR (либо с webrat, либо с capybara)

Как я могу написать шаг для проверки переключателя? Я пробовал «выбрать» или «select», но он не может найти мой переключатель. Я не уверен, что делать, поскольку у меня фактически есть 2 входа с одинаковым именем (2 переключателя, принадлежащие к одной и той же «группе»)

Спасибо

Пример html

 <form name="myform" action="http://www.mydomain.com/myformhandler.cgi" method="POST">

<input type="radio" name="group1" value="Milk"> Milk<br>
<input type="radio" name="group1" value="Butter" checked> Butter<br>
<input type="radio" name="group1" value="Cheese"> Cheese

</form>
  

Комментарии:

1. Я имею в виду выбранную одну из опций кнопок radion (нажатие кнопки)

2. Пожалуйста, разместите соответствующий HTML.

Ответ №1:

Ответ заключается в choose идентификаторе (сгенерированном Rails) переключателя.

  <form name="myform" action="http://www.mydomain.com/myformhandler.cgi" method="POST">

    <input type="radio" name="group1" value="Milk" id="group1_milk"> Milk<br>
    <input type="radio" name="group1" value="Butter" checked id="group1_butter"> Butter<br>
    <input type="radio" name="group1" value="Cheese" id="group1_cheese"> Cheese

  </form>
  

и сделать

 choose("group1_milk").
  

Это будет работать, даже если несколько переключателей имеют одинаковые параметры.

Ответ №2:

В вашем определении шага добавьте строку:

 choose('A Radio Button')
  

Cucumber использует Capybara, вы можете прочитать больше об этом здесь:https://github.com/jnicklas/capybara

Комментарии:

1. Да, но я хочу выбрать «Milk». Могу ли я сделать choose («Молоко»)?

2. Да, это должно быть возможно таким образом.

3. Итак, у меня есть две группы переключателей с Milk. Как я могу указать с помощью ‘Milk’ для выбора?

4. @mb14 в пределах ‘scope’ выберите (‘milk’) end