2013-10-22 7 views
12

Ich verwende Karma mit Jasmine konfiguriert mit dem PhantomJS Browser wie im Browser-Abschnitt Karma's config docs beschrieben.Test Scroll-Position mit Karma, PhantomJS, Jasmine

Ich teste ein Scroll-Verhalten auf der Seite durch Überprüfung der $('body,html').scrollTop() Wert.

Dies funktioniert in Chrome gut. In PhantomJS scheint die Fenstergröße jedoch so zu wachsen, dass sie der Größe des Dokuments entspricht. In ihren Dokumenten erfordert die Verwendung von viewport und scrollPosition eine direkte Verwendung der phantomJS WebPage-API.

Gibt es eine Möglichkeit in Karma Spec-Skripten auf das PhantomJS-Seitenobjekt zuzugreifen?

+0

fwiw - ich benutze jetzt eine [bessere Methode zur Bewertung scroll top] (http://stackoverflow.com/questions/871399/cross-browser-method-for-detecting-the-scrolltop-of- das Browser-Fenster). Aber das beschriebene Phantom-Problem hat nichts damit zu tun. – jfroom

+1

Ich habe das gleiche Problem. Ich wünschte, es gibt eine Einstellungsoption für PhantomJS – Joon

Antwort

7

Ein Karma-Mitarbeiter sagt grundsätzlich in diesem Github Issue Karma für Integration-Level-Tests, die Umgang mit der page Variable erfordern würde nicht zu verwenden.

vojtajina commented 3 months ago

Sie können page Variable nicht zugreifen - die Winkel Szenario runner Tests im Browser ausgeführt und es gibt keine page Variable.

Die Variable page ist im Phantomjs-Skript verfügbar (das Sie schreiben, um den Phantomjs-Browser zu steuern). Wenn Sie PhantomJS und sein DSL für High-Level-Tests verwenden möchten, verwenden Sie einfach PhantomJS ohne Angular-Szenario-Runner.

vojtajina commented 3 months ago

Nö, benutzen Sie einfach PhantomJS ohne Karma. Karma ist für Unit-Tests.