2017-07-27 3 views
1

Zum Beispiel, wenn der Benutzer eine Geschenkkarte hat, wollen wir diese Geschenk-Karten und behaupten, kommt zuerst:In Magellan/Nightwatch, wie stellen wir fest, dass ein Element vor ein anderes Element kommt?

<section id="gift-card-section"> ... </section> 
<section id="credit-card-section"> ... </section> 

Ansonsten wollen wir behaupten, dass zuerst die Kreditkarte Abschnitt kommt. Wie kann dies in Magellan/Nightwatch gemacht werden?

Mein Denken ist nur die N im N-th child zu bekommen ... und behauptet, dass N1 < N2 oder umgekehrt. Wie wird das in Magellan/Nightwatch gemacht?

Antwort

1

Dies ist ein großartiger Fall für die Verwendung von XPATH. Explizit, wenn Sie wissen, dass dies die ersten und zweiten Abschnittselemente sein sollen.

browser 
.useXpath().assert.attributeContains('(//section)[1]', 'id', 'gift-card-section'); 
.useXpath().assert.attributeContains('(//section)[2]', 'id', 'credit-card-section'); 

oder, wenn sie nicht bestellt werden müssen, und sie sind auf dem gleichen Niveau in der DOM (wenn sie Geschwister sind) Sie Attribut verwenden könnte gleich:

browser 
.useXpath().assert.attributeEquals("//section[@id='credit-card-section']/following-sibling:://section[@id='gift-card-section']", "id", "credit-card-section"); 

Diese zweite Option ist ein Bit redundant, aber es gibt viele andere Optionen, wenn Sie XPATH in Nightwatch verwenden.

Verwandte Themen