Wie zu warten, wenn ein element entfernt vom DOM?

Ich mit diesem Problem immer wenn ich versuche zu warten, bis ein DOM-element entfernt wird aus dem aktuellen DOM-Baum auf der web-Seite, dass mein Winkelmesser test ist Test. Ich habe bereits ein von ihm hängen, wenn ich versuche zu warten, bis ein DOM-element versteckt wird, mit dieser schönen Technik angeboten von user2912739 in einem anderen thread.

var el = element(by.css('.your-css-class'));
return browser.wait(protractor.until.elementIsNotVisible(el));

Das funktioniert ziemlich anständig. Wenn es jedoch darum geht zu warten, für ein element wurden entfernt aus dem DOM-Baum sowohl .isDisplayed() und .isPresent() oder die oben genannten Zeilen NICHT zu funktionieren scheint. Der test würde weiter laufen, aber es scheint, wie es ist zu versuchen, um das element aber nie gelingt es ja irgendwann eine Zeitüberschreitung auf der Grundlage der timeout-Einstellung für die Konfigurationsdatei. Zum Beispiel. das ist das log.

timeout: timed out nach 30000 msec warten spec abgeschlossen

Den Anwendungsfall, der kann dies Recht Häufig, wenn man es mit einem Test, ob ein element entfernt wird aus dem DOM-Baum, zum Beispiel, wird ein modales, der geschlossen und von der Seite entfernt, wenn Benutzer klicken Sie auf Aktionen, entlässt das modale element oder ein element, die Sie wollen einfach nur zu "löschen", so dass es nicht mehr auf der Seite vorhanden ist. So, in den test, Sie wollen einfach nur, um den test fortzusetzen, der ausgeführt wird, sobald es entfernt wird aus dem DOM-Baum.

Ich gesucht habe durch Winkelmesser und web-Treiber-api, und es scheint, gibt es keine api, übernimmt diese Aufgabe.

  • Ich bin neu Winkelmesser und das erste mal habe ich gesehen, wie das until. keine docs sagt, es ist definiert, innerhalb protractor...
InformationsquelleAutor vichsu | 2015-02-10
Schreibe einen Kommentar