水豚检查选择器是否在页面上

时间:2015-05-07 10:40:07

标签: ruby-on-rails testing rspec capybara

如果页面上有选择器,我想用Capybara进行测试。 选择器包含在以下形式中:

<%=form_for @currency.neural_network do |f| %>
    <%= f.label "Days" %>
    <%= f.select(:prediction_days, [1..30]) %>
    <%= f.submit "Predict", class: "btn btn-primary" %>
<% end %>

我不确定如何命名选择器,以便我可以用Capybara验证它的存在。我想做这样的事情:

<%=form_for @currency.neural_network do |f| %>
    <%= f.label "Days" %>
    <div id="select_days" >
    <%= f.select(:prediction_days, [1..30]) %>
    </div>
    <%= f.submit "Predict", class: "btn btn-primary" %>
<% end %>

以某种方式测试它:

expect(page).to have_selector('select_days')

2 个答案:

答案 0 :(得分:0)

我没有回复发表评论所以我不确定是什么导致你的麻烦。如果您想确保选择器 in ,您可以使用以下表单:

    expect(page).to have_css('form .select_days')

否则只是

    expect(page).to have_css('.select_days')

应该没问题。

请检查:https://github.com/jnicklas/capybara#querying

我希望能帮到你:)。

答案 1 :(得分:0)

您可以将ID添加为选择

的选项
<%=form_for @currency.neural_network do |f| %>
    <%= f.label "Days" %>
    <%= f.select(:prediction_days, [1..30], {}, :id => "your_id" ) %>
    <%= f.submit "Predict", class: "btn btn-primary" %>
<% end %>

然后用

进行测试
expect(page).to have_selector('#your_id')