我有这张桌子:
<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>
答案 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 }