Christian Baumann
Christian Baumann

Reputation: 3434

Unable to check checkbox in table cell

I have this table:

<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>

Accessing the textbox is working fine, but I can´t figure out how to check the checkbox.

I use the following code in my PageObject class:

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

Which I am calling like this:

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

It is working fine for setting the pax-textbox, but fails when trying to check the checkbox:

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

Upvotes: 0

Views: 287

Answers (1)

Justin Ko
Justin Ko

Reputation: 46836

The text_field accessor is for text fields, which are input elements with type "text" and other text-like input fields such as "email".

Inputs of type "checkbox" are considered checkboxes. It is the checkbox accessor that creates the check_ method. In other words, you want the following definition for the checkbox:

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

Upvotes: 1

Related Questions