使用Capybara选择字段

时间:2013-10-07 10:26:54

标签: ruby-on-rails capybara

有以下生成的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',但它也不起作用。

1 个答案:

答案 0 :(得分:0)

看起来可以通过名称,ID或标签文本找到选择框,因此您的示例看起来应该有效。来自Capybara::Node::Actions

  

在页面上找到一个选择框,然后从中选择一个特定选项。   如果选择框是多选,则选择可以称为多个   时间选择多个选项。选择框可以通过   它的名称,标识或标签文字。

我们显然忽视了一些事情。方括号可能会丢掉水豚吗?看看按标签文字选择时会发生什么。

select 'Club', from: 'Type'

或id:

select 'Club', from: :place_type_id