Capybara选择单选按钮不起作用

时间:2017-09-29 20:56:26

标签: html rspec capybara

我这样做了100次,但对于我的生活,我无法理解为什么它告诉我它无法找到这个对象。这是我的HTML:

PS我已经确认我在正确的页面上,当我做kam = '$kam'时,我可以看到顾问

HTML

save_and_open_screenshot

TEST

<div class="panel">
  <%= form.label :advisor, class: "panel__label" %>
  <%= form.radio_button :advisor_or_client, "advisor", class: "panel__input__radio advisor" %>
</div>

<div class="panel">
  <%= form.label :client, class: "panel__label" %>
  <%= form.radio_button :advisor_or_client, "advisor", class: "panel__input__radio client" %>
</div>

错误

choose('advisor')

截图

enter image description here

根据提供的信息,如何为功能规格选择单选按钮?

1 个答案:

答案 0 :(得分:2)

choose按姓名,ID或标签文字找到单选按钮 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Actions#choose-instance_method。而不是你指定输入的value(我假设第二个值应该是&#34;客户&#34;而不是&#34;顾问&#34;你有)。由于您没有ID,并且名称不明确,您可以使用option参数(匹配值)缩小到正确的无线电。因此

choose('trade_request_submission[advisor_or_client]', option: 'advisor')

或可能

choose(option: 'advisor')  # if you don't have any other radios with that value

另一种选择是指定标签文本,但这需要将id添加到与标签上的input属性匹配的for元素,以便正确链接它们,在这种情况下,您可以执行< / p>

choose('Advisor')