Wir haben festgestellt etwas ähnliches vor kurzem Sie können für Winkel warten müssen. im Grunde warten bis zu 5 Sekunden
browser.wait(waitForCssValue(obj, 'color', color2), 5000);
Hier sind wir:
Was mir war für ein Element zu Warte half einen bestimmten CSS-Wert zu haben, mit browser.wait()
:
function waitForCssValue (elementFinder, cssProperty, cssValue) {
return function() {
return elementFinder.getCssValue(cssProperty).then(function (actualValue) {
return actualValue === cssValue;
});
};
};
Nutzungs für einen CSS color
Wert gleich color2
sein. Wenden Sie den Wait-Call direkt an, nachdem Sie das Element angezeigt haben.
Auch ich erinnere mich, dass in den Blick Scrollen half auf SO ähnliche Probleme zu lösen:
browser.executeScript("arguments[0].scrollIntoView();", obj);
Maximieren Browser-Fenster auch helfen können, tun wir es in der Regel in onPrepare()
:
Zusätzliche Anmerkung über PhantomJS
:
Zu allererst Winkelmesser Entwickler empfehlen gegen Lauf protrator
End-to-End-Tests mit PhantomJS
:
Hinweis: Wir empfehlen gegen PhantomJS für Tests mit Winkelmesser verwenden. Es gibt viele gemeldete Probleme mit PhantomJS Abstürzen und Verhalten anders als echte Browser.
von Abgesehen davon finden Sie unter:
Hier Ich versuche, auf den Punkt zu kommen, dass Sie das "Computer kann nicht in Phantom JS" Argument opfern sollte.
Diese Seite verwendet keine Angular –
Ok ... Sie könnten dann einfach die erste Lösung verwenden oder '.onmouseover' und' .onmouseout' in Ihre aktuelle Funktion anstelle von '.mouseMove' integrieren Dieses Problem scheint für Winkelmesser bekannt zu sein https://github.com/angular/protractor/issues/159 – intika
Richtig, aber das würde erfordern JS, alles zu tun, was CSS tut, das ist ein Nicht-Starter –