What is the difference between Rspec have_css, have_selector, and have_field? -


i have html.erb rails form:

<h1 class=new_vendor_header>new vendor form</h1>  <%= form_for(@vendor) |f| %>   <%= f.label :name %>   <%= f.text_field :name, placeholder: "ex: jeff" %>   <%= f.submit "submit" %> <% end %> 

this passes:

expect(page).to have_selector('input[placeholder="ex: jeff"]') 

but not:

expect(page).to have_field('input[placeholder="ex: jeff"]') 

and not:

expect(page).to have_selector('input[placeholder="ex: jeff"]') 

selector refers html selector right refers html elements? have_css thought looked css seems more. here example cheat sheet:

response.body.should have_css("input", :count => 3) #true if there 3 input tags in response 

and seems input html selectors.

so difference , why other 2 fail in example?

from docs here have_css call has_selector css param, has_selector can handle css, xpath, ...

def have_css(css, options={})       haveselector.new(:css, css, options) end 

Comments

Popular posts from this blog

Fail to load namespace Spring Security http://www.springframework.org/security/tags -

sql - MySQL query optimization using coalesce -

unity3d - Unity local avoidance in user created world -