Capybara has_xpath zawsze zwraca true

Witajcie,
Próbuje testować swoją aplikację przez rspec + capybara. Mam taki kod

context "not logged admin try to access admin panel main page" do it "should render log in form" do visit admin_home_path #page.has_xpath?("/html/body/div[@id='wrapper']/div[@id='login_form']/form") page.driver.error_messages.should be_empty page.has_xpath? "zuo" end end
Problem w tym ze has_xpath? zawsze zwraca true nie ważne od tego jaki selektor by mu się nie podało. To samo tyczy się has_selector i innych. Gdzie robię błąd?
Pozdrawiam

ale to nie tak sprawdzasz w rspecu :wink:

page.should have_selector('div#login_form')

to matcher używa pod spodem #has_selector?

spróbuj też

page.should have_xpath("/html/body/div[@id='wrapper']/div[@id='login_form']/form")

albo tak jak zlw podał, krócej jest

podałem css selector bo zupełnie nie ogarniam xpath :stuck_out_tongue: ale w sumie nie wiem po co go używać: raz - css selector jest krótszy, dwa - spójny z tym co mamy w css/js (i ewentualnie haml)

Czasem się przydaje, jak chcesz sprawdzić co jest w jakiejś kolumnie w tabeli HTMLowej. :stuck_out_tongue_winking_eye:

Może tak? :slight_smile:

[code] td:nth-child(4)

tr > :nth-child(4) / albo tak jesli masz td i th */[/code]

Wielkie dzięki zlw za pomoc już działa spec tak jak powinien. A kombinowałem z tym xpath bo z css nie banglało to myślałem, że może a nóż wypali z xpath.
Pozdrawiam