如何迭代watir中的单选按钮

时间:2016-12-01 12:59:07

标签: ruby automation watir watir-webdriver page-object-gem

以下是描述单选按钮元素的代码。

<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下的所有单选按钮,并使用以下代码选择该选项。 Item是迭代此

的列表元素
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?,我得到了弃用警告

*弃权警告 您正在调用一个名为set的方法?在psc.rb:62:在psc_choose_selected_score&#39;中的`block(2个级别)中。 此方法在页面对象中不存在,因此会传递给驱动程序。 此功能将在不久的将来删除。 请更改您的代码以调用正确的页面对象方法。 * 如果您使用的是页面对象中不存在的功能,请请求添加。

我尝试使用https://github.com/cheezy/page-object/wiki/Elements中提到的方法,作为select_option和option_selected?

我的问题是如何摆脱这种弃用警告?

1 个答案:

答案 0 :(得分:1)

检查a的方法 选择PageObject::Elements::RadioButtonselected?

input.selected?