2016-07-20 40 views
0

HTML:Wie finde ich Geschwisterelement mit Behat/Nerz?

<div id="my-id"> 
    <li class="list_element"> 
     <div class="my_class"></div> 
     <a href=""></a> 
    </li> 
    <li class="list_element"> 
     <div class="another_class"></div> 
     <a href=""></a> 
    </li> 
    <li class="list_element"> 
     <div class="class3"></div> 
     <a href=""></a> 
    </li> 
</div> 

Was ich mit Behat/Nerz tun wollen:

$page = $this->getSession()->getPage(); 
$selector = $page->find('css', "#my-id .my_class"); //here I need anchor element located near to .my_class div. 

Ich weiß nicht, in dem man .list_element.my_class div ist. Ich weiß nur Anker ist neben .my_class Element. Welchen Selektor sollte ich in der Funktion find() verwenden?

+0

So interessant diese Herausforderung aus einer Codierung Sicht ist es bricht weg von Behats und Minks Kernzweck und jede Lösung wäre ein Missbrauch der Technologie. Das Testen von Geschwisterelementen anhand des Klassennamens entspricht nicht wirklich dem Test der Benutzerakzeptanz, da es nicht darum geht sicherzustellen, dass Inhalte für Benutzer verfügbar sind. Es fühlt sich eher so an, als sollte es von einem PHPUnit-Test auf dem Helfer abgedeckt werden, der Ihr Markup generiert. –

+0

Ich sehe eine Anforderung für die Überprüfung Geschwister-Inhalt, so schrieb ich dieses Q & A: https://stackoverflow.com/questions/49050631/behat-mink-check-for-some-text-followed-by-some-text-in- Geschwisterelemente/49050632 –

Antwort

0

einer von diesen Versuchen:

#my-id .my_class ~ a 
 

 
#my-id .my_class + p 
 

 
#my-id .list_element a

Das ist zu einfach mögliche Frage mehr sehen hier w3schools