Hol dir alle Klassen eines Elements in Capybara?

8

Gibt es mit Capybara eine Möglichkeit, alle css-Klassen eines Elements zu erhalten? Wenn ich mir die Dokumentation anschaue, sehe ich keinen einfachen Weg, dies zu tun.

Auch bei einem Element, elem und einer css-Klasse, einer Klasse, sollte elem.has_css?('.someclass') der jquery $(elem).hasClass('someclass') ?

entsprechen

Dieser spezielle Test verwendet Selenium, weil es Javascript beinhaltet.

    
mushroom 01.01.2013, 20:26
quelle

1 Antwort

12

Element # [] sieht ziemlich einfach aus ich:

%Vor%
  

Auch bei einem Element, elem und einer css-Klasse, einer Klasse, sollte elem.has_css ('. someclass') der jquery $ (elem) .hasClass ('someclass') entsprechen?

Element # has_css? prüft auf Elemente mit angegebenem CSS selector innerhalb des Elements, für das die Methode aufgerufen wird. Jquery's hasClass überprüft, ob ein Element eine Klasse angegeben hat.

Update: Capybara-Matcher finde Elemente / Text innerhalb des aktuellen Elements. Element#has_css? überprüft, ob ein Element ein Element mit einem angegebenen css-Selektor enthält. Wenn Sie prüfen möchten, ob ein Element existiert, verwenden Sie page.has_css? . Vielleicht wäre es besser, Matcher in Form expect (Seite) .to have_css ('div') zu haben.

    
Andrei Botalov 01.01.2013, 21:23
quelle

Tags und Links