Ruby on rails 水豚难题,找不到字段
我对从我的特性规范中收到的一条关于丢失的capybara元素的错误消息感到困惑 我的new.html.erb中有一个简单的表单,如下所示:Ruby on rails 水豚难题,找不到字段,ruby-on-rails,capybara,Ruby On Rails,Capybara,我对从我的特性规范中收到的一条关于丢失的capybara元素的错误消息感到困惑 我的new.html.erb中有一个简单的表单,如下所示: <h1>Register a Building</h1> <h4 class="notice"></h4> <%= simple_form_for @building do |f| %> <%= f.input :street_address %> <%= f.input
<h1>Register a Building</h1>
<h4 class="notice"></h4>
<%= simple_form_for @building do |f| %>
<%= f.input :street_address %>
<%= f.input :city %>
<%= f.input :state, collection: Building::STATES %>
<%= f.input :postal_code %>
<%= f.input :description %>
<%= f.button :submit %>
<% end %>
scenario 'I want to submit a valid building to record' do
building_count = Building.count
visit new_building_path
fill_in 'Street address', with: '5555 Summer Drive'
fill_in 'City', with: 'Boston'
fill_in ' State', with: 'WA'
fill_in 'Postal code', with: '78526'
fill_in 'Description', with: ''
click_on 'Create Building'
expect(page).to have_content('Building Submitted')
expect(page).to have_content('')
expect(Building.count).to eql(building_count + 1)
结束
在到达状态字段之前,一切正常。我不断得到一个元素未找到的错误,但当我保存并打开页面时,它显然就在那里
这是我的错误:
Failure/Error: fill_in 'State', with: 'WA'
Capybara::ElementNotFound:
Unable to find field "State"
我注意到错误消息中的双引号/单引号,但是当我匹配引号并更改它们时,什么也没有发生。另外,我检查了我的元素,我得到的标题是这个“状态”。我改变了我的测试,寻找“状态”而不是“状态”,但仍然没有用。我能做些什么来解决这个问题?您的
状态
字段是一个选择框,而不是一个文本字段
使用:
fill_in
专门查找可填充的字段,即文本字段和文本区域
关于这方面的水豚文献如下:
select 'WA', from: 'State'