无法检查表格单元格中的复选框

时间:2015-01-21 12:59:52

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

我有这张桌子:

<iframe title="ManageLegs">
    <table title="Leg Details">
        <tr>
            <th class="headerRow">
                <div>PAX</div>
            </th>
            <th class="headerRow">
                <div>Leg</div>
            </th>
        </tr>
        <tr>
            <td>
                <input type="text"></input>
            </td>
            <td>
                <input type="checkbox"></input>
            </td>
        </tr>
    </table>
</iframe>

访问文本框工作正常,但我无法弄清楚如何选中复选框。

我在PageObject类中使用以下代码:

in_iframe(:title => 'ManageLegs') do |frame|
    table(:leg_details, title: 'Leg Details', :frame => frame)
    text_field(:pax) { leg_details_element['1']['PAX'].text_field_element }
    text_field(:aircraft) { leg_details_element['1']['Aircraft'].text_field_element }
    text_field(:show_leg_on_quote_pdf) { leg_details_element['1']['Leg'].checkbox_element }
end

我这样称呼:

on(CharterInquirySavedPage).pax = "2"
on(CharterInquirySavedPage).check_show_leg_on_quote_pdf

设置pax-textbox工作正常,但在尝试勾选复选框时失败:

NoMethodError: undefined method `check_show_leg_on_quote_pdf' for #<CharterInquirySavedPage:0x00000004cfd420>

1 个答案:

答案 0 :(得分:1)

text_field访问器用于文本字段,这些字段是输入元素,类型为&#34; text&#34;和其他类似文本的输入字段,例如&#34;电子邮件&#34;。

输入类型&#34;复选框&#34;被认为是复选框。创建check_方法的是checkbox accessor。换句话说,您需要复选框的以下定义:

checkbox(:show_leg_on_quote_pdf) { leg_details_element['1']['Leg'].checkbox_element }