« back to all cards in this deck
Posted about 2 years ago. Visible to the public.
Test whether a form field exists with Cucumber and Capybara
The step definition below lets you say:
Then I should see a field "Password" But I should not see a field "Role"
Here is the step definition:
Then /^I should( not)? see a field "([^"]*)"$/ do |negate, name| expectation = negate ? :should_not : :should begin field = find_field(name) rescue Capybara::ElementNotFound # In Capybara 0.4+ #find_field raises an error instead of returning nil end field.send(expectation, be_present) end
Note that you might have to adapt the step definition for older Capybaras. Unfortunately the Capybara API wasn't very stable over time.
Author of this card:
- form, input
- About this deck:
- We are makandra and do test-driven, agile Ruby on Rails software development.
Posted by Henning Koch to makandropedia