Wie kann überprüft werden, ob ein WebElement im Ansichtsfenster mithilfe von WebDriver angezeigt wird?

8

Stellen Sie sich das folgende Szenario vor,

  1. Die Webseite wird zusammen mit einer vertikalen Bildlaufleiste angezeigt
  2. Die Bildlaufleiste befindet sich am unteren Rand
  3. WebElement 'Test' befindet sich oben auf der Seite und ist jetzt im aktuellen Ansichtsport nicht sichtbar.

Zu verifizierende Funktionalität:

Wenn Sie auf den Link "Zum Seitenanfang" unten auf der Seite klicken, sollte die Seite so durchlaufen werden, dass das WebElement "Test" innerhalb des Ansichts-Ports angezeigt wird.

Bitte lassen Sie mich wissen, wie Sie überprüfen können, ob ein Element im aktuellen Ansichtsport angezeigt wird oder WebDriver nicht verwendet.

Hinweis: element.isDisplayed wird im obigen Fall immer wahr sein, da die Funktion die gesamte Seite überprüft und nicht nur den aktuellen Anzeige-Port prüft.

    
Vel Ganesh 16.08.2013, 09:17
quelle

2 Antworten

1

@Vel Ganesh - Ich weiß nicht, ob dies mit Selen verifiziert werden kann. Kann aber definitiv mit Sikuli gemacht werden. Sie können sikuli.org für Details überprüfen. Sikuli hat eine Java-API und kann daher auch in den WebDriver-Code integriert werden.

    
Akbar 16.08.2013, 11:04
quelle
1

Nun, als das letzte, was mir in den Sinn kommt, würde ich mich für so etwas entscheiden:

  1. Holen Sie sich einen Screenshot zu dem, was Sie haben, nachdem Sie auf den Link unten geklickt haben (stellen Sie sicher, dass Sie nur den Screenshot des Ansichts-Ports sehen)
  2. benutze Webdrivers window.scrollTo , um nach oben zu gehen (siehe unten)
  3. Wiederholen Sie den 1. Schritt
  4. Vergleichen Sie die Ergebnisse des 1. und 3. Schritts

Wo zum Scrollen mit dem Webdriver sollte folgendes funktionieren:

%Vor%

Es scheint ein verzweifelter Workaround zu sein, aber es könnte sich lohnen, wenn keine andere Lösung vorgeschlagen wird.

    
Peter Butkovic 16.08.2013 09:43
quelle