2015-05-07 4 views
0

Я хочу протестировать с 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 %> 

Я не уверен, однако, как назвать селектор таким образом, что я могу проверить его существование с Капибарой. Я хочу сделать что-то вроде этого:

<%=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') 
+0

Вы можете использовать 'Inspect Tool' в своем браузере, чтобы узнать, какой ** id ** имеет ваш элемент select, а затем' have_select или ('# идентификатор') ' –

ответ

0

Я не репо, чтобы оставить комментарий, так что я не уверен, что это причиняет вам неприятности. Если вы хотите, чтобы убедиться, что селектор внутри формы вы можете использовать:

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

иначе просто

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

должно быть хорошо.

Пожалуйста, проверьте: https://github.com/jnicklas/capybara#querying

Я надеюсь, что поможет вам :)

0

Вы можете добавить идентификатор в качестве опции выбора

<%=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') 
Смежные вопросы