2
我有以下表單,我想檢查文本字段是否存在。我怎樣才能做到這一點 ? 用水豚測試表單text_field的存在
<%= form_for(ownership, remote: true) do |f| %>
<div>
<%= f.text_field :confirm, value: nil %>
<%= f.hidden_field :start_date, value: Time.now %>
</div>
<%= f.submit t('button.ownership.take.confirmation'), class: "btn btn-small"%>
<% end %>
這裏我的測試:
describe "for not confirmed ownership" do
before do
FactoryGirl.create(:agreed_ownership, user: current_user, product: product)
be_signed_in_as(current_user)
visit current_page
end
# it { should_not have_text_field(confirm) }
it { should_not have_button(t('button.ownership.take.confirmation')) }
end
非常感謝你 !你能幫我填補這個領域嗎?我可以做一些類似'fill_in'input [type =「text」] [name =「confirm」]'的東西,用:「Something」'? –
要用['fill_in']填充字段(http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Actions#fill_in-instance_method),您需要使用「locator」,它是一個字符串Capybara檢查字段的「label」文本,「name」屬性和「id」屬性。如果你不想使用任何這些屬性,你也可以做類似'find('input [type =「text」] [name =「confirm」]').set(「Something」)',但是我不是一個很大的粉絲,因爲這種語法與你的用戶如何體驗/使用你的應用程序相差甚遠,這是使用Capybara的目的。 –
好吧,我試過,但它沒有奏效:'水豚:: ElementNotFound:找不到css「輸入[type = \」text \「] [name = \」confirm \「]」' –