Capybara's has_css?
matcher has a couple of options you might find useful.
Use the :count
option like this:
Then /^I should see (\d+) users?$/ do |count|
page.should have_css('ul#users li', :count => count.to_i)
end
Use the :text
option like this:
Then /^I should see a user with name "([^\"]*)"$/ do |name|
page.should have_css('ul#users li', :text => name)
end
Note that this will only compare substrings, i.e. have_css('div', :text => 'foo')
will match "<div>Hello foobear!</div>
".
If you require an exact match, you need to find
the element and compare its text
explicitly.