Deaktivieren CSS Animationen/Transitions
Zusätzlich zur Deaktivierung von ngAnimation (z. B. element(by.css('body')).allowAnimations(false);
) müssen Sie möglicherweise einige Animationen deaktivieren, die über CSS angewendet wurden.
ich gefunden habe, dies manchmal zu einigen solchen animierte Elemente trägt, dass Winkelmesser erscheinen anklickbare (dh EC.elementToBeClickable(btnUiBootstrapModalClose)
) zu sein, zu reagieren eigentlich nicht zu .click()
usw.
In meinem speziellen Fall, Ich litt an einem ui.bootstrap-Modal, das ein- und ausging, und ich war nicht immer in der Lage, den internen "Schließen" -Knopf zuverlässig anzuklicken.
Ich fand, dass disabling css animations geholfen. Ich habe eine Klasse zu einem Stylesheet:
.notransition * {
-webkit-transition: none !important;
-moz-transition: none !important;
-o-transition: none !important;
-ms-transition: none !important;
transition: none !important;
}
... und in Winkelmesser, ich habe so etwas wie:
_self.disableCssAnimations = function() {
return browser.executeScript("document.body.className += ' notransition';");
};
Es kann schlankeres Möglichkeiten, dieses Konzept anwenden, aber ich fand, dass das oben genannte funktionierte sehr gut für mich - zusätzlich zur Stabilisierung der Tests laufen sie schneller, da sie nicht auf Animationen warten.
@ user3345216 möchten Sie diese Antwort akzeptieren? funktioniert perfekt für mich. – manu
Das scheint bei mir nicht zu funktionieren. Verwenden von Winkel 1.2.26 und Winkelmesser 2.0.0.Ich kann mir die Spezifikationen in Chrome und Firefox ansehen und sehen, dass die Animationen immer noch brennen. –
@DavidPisoni Kannst du es mit Protractor 1.8 versuchen? Etwas anderes könnte die Ursache sein, da wir auch mit anderen Migrationsproblemen 2.0 konfrontiert waren. Sie können immer ein Problem melden Projekt Winkelmesser, wenn das der Fall ist: https://github.com/angular/protractor/issues – bugdayci