Как перебирать переключатели в watir
Ниже приведен код, который описывает элементы переключателя.
<div class="questionnaire_detail_question_body">
<div class="questionnaire_detail_answers">
<label class="radioinputwrapper">
<input class="questionnaire_detail_radiobutton" type="RADIO" value="Never">
</label>
<label class="radioinputwrapper">
<input class="questionnaire_detail_radiobutton" type="RADIO" value="Sometimes">
</label>
<label class="radioinputwrapper">
<input class="questionnaire_detail_radiobutton" type="RADIO" value="Often">
</label>
</div>
</div>
Я попытался получить все переключатели под определенным div и выбрал опцию, используя код ниже. Элемент - элемент списка, который нужно перебрать
answers = item.div_element(class: 'questionnaire_detail_question_body')
.div_element(class: 'questionnaire_detail_answers').radio_button_elements
answers.each do |input|
if input.value.include? option
input.click
selected_option &&= input.set?
end
end
Но во время проверки, установлен ли переключатель или нет.set? или.checked?, я получаю предупреждение об устаревании как
* DEPRECATION WARNING Вы вызываете метод с именем set? на psc.rb:62: в блоке (2 уровня) в psc_choose_selected_score'. Этот метод не существует в объекте страницы, поэтому он передается драйверу. Эта функция будет удалена в ближайшее время. Пожалуйста, измените ваш код, чтобы вызвать правильный метод объекта страницы. * Если вы используете функциональность, которой нет в объекте страницы, пожалуйста, попросите ее добавить.
Я пытался использовать методы, упомянутые в https://github.com/cheezy/page-object/wiki/Elements, как select_option и option_selected?
Мой вопрос, как избавиться от этого предупреждения об устаревании?
1 ответ
Метод проверки того, что PageObject::Elements::RadioButton
выбран selected?
:
input.selected?