2014-06-10 7 views
5

In meiner eckigen Anwendung habe ich eine Seite, die Nav-Links auf der Seite hat, die beim Anklicken die Seite nach unten zu einem passenden Element scrollt.Test für das Scrollen

Wie schreibe ich e2e Test dafür im Winkelmesser? Gibt es so etwas wie "Grab den ersten sichtbaren h1" oder so ähnlich?

Antwort

-1

Sie können sipmly eine Scroll-Down-Funktion verwenden:

var filter = browser.findElement(by.id('idvalue')); 
var scrollIntoView = function() { 
arguments[0].scrollIntoView(); 
} 
browser.executeScript(scrollIntoView, filter); 
+0

Das ist nicht genau das, was ich suche. Die Seite scrollt automatisch, wenn auf eine Verknüpfung geklickt wird, und ich möchte überprüfen, ob die Bildlaufposition korrekt ist. – bioball

0

Sie sollten das erste h1 Element greifen können, die auf der Seite mit so etwas wie dies:

$$('h1').first().getText().then(function (h1Txt) { 
    expect(h1Txt).toEqual('Correct h1 text'); 
}); 

oder verwenden spezifischer Index, um den richtigen h1 zu finden:

$$('h1').then(function (h1tagList) { 
    var h1Text = h1tagList[0].getText(); 
    expect(h1Text).toEqual('Correct h1 text'); 
}); 

Wenn es auf der Seite nicht zur Zeit es tri Es, um den Text zu lesen, sollte es einen Fehler wie Element nicht erreichbar oder etwas ähnliches werfen.

3

Sie können Javascript window.pageYOffset dafür verwenden. Hier ist, wie ich es in einem meiner eigenen Testfall getan haben:

browser.driver.sleep(2000); 
    browser.executeScript('return window.pageYOffset;').then(function(pos) { 
     expect(pos).to.be.at.most(100); 
    }); 

Wo 100 meine erwartete Position ist.

Hinweis: Ich benutze Mokka und Chai anstelle von Jasmin. Ändere einfach die letzte Zeile entsprechend. Ich warte auch 2 Sekunden, bis mein Scrolling abgeschlossen ist.

+1

Sie haben gerade den Tag hier gespeichert. :) – germanio

Verwandte Themen