找不到字段“ Netid”(Capybara :: ElementNotFound)

时间:2018-11-06 02:29:05

标签: ruby-on-rails cucumber capybara

我查看了与此相关的其他帖子,并尝试了所有提示进行修复,但仍然出现错误。有人可以看一下我的代码,让我知道为什么我继续遇到此错误。

.html代码如下

  @Input() set method() {
    this._viewContainer.clear();
    if (// some logic here //) {
        this._viewContainer.createEmbeddedView(this._templateRef) // render element
    } else {
        const factory = this.resolver.resolveComponentFactory(DummyComponent);
        this.viewContainer.createComponent(factory);
    }
  }

我的测试看起来像

<% 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"

1 个答案:

答案 0 :(得分:0)

我认为您是要告诉Capybara填写标签而不是输入字段。

在本地启动Rails应用程序并查看该页面的源代码。您应该看到该字段看起来像<input type="text" id="session_username" name="session[username]" class="form-control" />

尝试将“ Netid”更改为您在其中看到的ID或名称的值。