Невозможно найти поле "Нетид" (Capybara :: ElementNotFound) - PullRequest
0 голосов
/ 06 ноября 2018

Я просмотрел другие посты, касающиеся этого, и попытался все советы, чтобы исправить это, но все еще получаю ошибку. Может кто-нибудь взглянуть на мой код и дать мне представление о том, почему я продолжаю получать эту ошибку.

.html-код выглядит как

<% provide(:title, "Log in") %>
<h1>Log in</h1>

<h2>Note: authentication currently supports both a TAMU NetID or the use of CAS.</h2>
<h2>To access the CAS authentication system, click <%= link_to "here", new_member_session_path %></h2> <br />

<div class="row">
  <div class="col-md-6 col-md-offset-3">
    <%= form_for(:session, url: login_path) do |f| %>

      <%= f.label :netid %>
      <%= f.text_field :username, class: 'form-control' %>

      <%= f.submit "Log in", class: "btn btn-primary" %>
    <% end %>

  </div>
</div>

Мой тест выглядит как

Background: 
  Given I am on the home page 
  When I follow "Login"
  And I fill in "Netid" with "admin"
  And I press "Log in"

У меня есть три:

"Netid"
"Member[netid]"
"Member[:netid]"
":netid"
"netid"

1 Ответ

0 голосов
/ 06 ноября 2018

Я думаю, вы говорите Capybara заполнить метку вместо поля ввода.

Раскрутите приложение Rails локально и просмотрите исходный код этой страницы. Вы должны увидеть поле, похожее на <input type="text" id="session_username" name="session[username]" class="form-control" />.

Попробуйте изменить "Netid" на значение, которое вы видите для идентификатора или имени там.

...