Automatisches Scrollen eines Knopfes mit Capybara und Selenium

8

Irgendwann im letzten Monat (Juni 2013) begannen mehrere unserer Capybara-Tests, hauptsächlich weil die Knöpfe, auf die sie klicken, nicht sichtbar sind. Im Idealfall würde ich gerne herausfinden, was sich geändert hat. Wir sind derzeit auf Selen-Webdriver 2.33, aber ich habe versucht, zurück zu 2.29 und es funktioniert immer noch nicht. Gegenwärtig laufen wir nur gegen Firefox und vielleicht liegt das an einer neueren Version von Firefox.

Abgesehen davon kann ich nicht herausfinden, wie man die Knöpfe in die Ansicht scrollen kann. Von dem, was ich erhalte, kann ich scrollIntoView benutzen, aber nicht sicher, wie man es im Capybara-Schritt nennt. Ich habe Variationen versucht:

%Vor%

Aber ohne Glück, denn find_button selbst funktioniert nicht.

Hinweis: Wir wählen basierend auf dem Text der Schaltfläche aus. Die Auswahl anhand der ID ist zwar möglich, erfordert aber viele Änderungen an unseren UI-Tests. Daher möchten wir dies vermeiden.

    
Kyle Baley 12.07.2013, 19:59
quelle

3 Antworten

19

Ich habe normalerweise ein Modul JavascriptDriver , das ich verwende, um Selenium-Funktionalität in einen Test einzuschließen, und dort definiere ich eine Hilfsmethode:

%Vor%

Und dann können Sie in Ihrem Test diesen Code verwenden, indem Sie ein normales Capybara-Element übergeben:

%Vor%     
Gray Kemmey 28.06.2016 20:42
quelle
1

Dies ist ein Scroll-Fehler, der in Selenium und Chrome aufgetaucht ist. Die Lösung ist Ссылка

    
dankohn 15.12.2014 19:44
quelle
0

Da Ihre Seite nicht scrollbar ist, können Sie den gleichen Ansatz wie die verknüpfte Antwort in der anderen Antwort verwenden, jedoch mit einer Variation, um auf Ihr scrollbares Element zu zielen. Zum Beispiel, wenn Ihr scrollbares Element eine ID von "scrollbar" hat:

%Vor%

Ich persönlich hasse es, für Tests scrollen zu müssen. Wenn also jemand eine bessere Lösung für Capybara + Selen findet, würde ich es gerne sehen.

    
Sia 09.06.2016 21:01
quelle

Tags und Links