我正在尝试使用Capybara选择一个下拉选项,但它不会让我。表格如下:
<%= simple_form_for @building do |f| %>
<%= f.input :address %>
<%= f.input :city %>
<%= f.input :state, collection: ['AL', 'AK', 'AR', 'CA', 'CO', 'CT', 'DE', 'FL',
'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS',
'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV', 'WI', 'WY'] %>
<%= f.input :zip %>
<%= f.input :description %>
<%= f.button :submit, "Add Building" %>
<% end %>
允许您从美国所有州的下拉列表中选择一个。我在Capybara中使用的代码如下:
fill_in 'Address', with: valid_attrs.address
fill_in 'City', with: valid_attrs.city
click_on 'building_state'
click_on 'CT'
fill_in 'Zip', with: valid_attrs.zip
但“点击'building_state'到click_on'CT'不起作用。
答案 0 :(得分:17)
要从下拉列表中选择一个选项,您需要使用select
方法,而不是click_on
:
例如:
select 'CT', from: "building_state"