有以下生成的HTML代码:
<label for="place_type_id">Type</label><br />
<select id="place_type_id" name="place[type_id]"><option value="1">Restaurant</option>
<option value="2">Cafe</option>
<option value="3">Club</option></select>
我需要为我的RSpec测试选择一些选项:
select "Club", from: "place[type_id]"
但它不起作用。我该如何解决?我试图在'from'参数中使用'id'而不是'name',但它也不起作用。
答案 0 :(得分:0)
看起来可以通过名称,ID或标签文本找到选择框,因此您的示例看起来应该有效。来自Capybara::Node::Actions:
在页面上找到一个选择框,然后从中选择一个特定选项。 如果选择框是多选,则选择可以称为多个 时间选择多个选项。选择框可以通过 它的名称,标识或标签文字。
我们显然忽视了一些事情。方括号可能会丢掉水豚吗?看看按标签文字选择时会发生什么。
select 'Club', from: 'Type'
或id:
select 'Club', from: :place_type_id