selenium.wait_for_condition entspricht in Python-Bindungen für WebDriver

8

Ich verschiebe einige Tests von Selenium auf den WebDriver. Mein Problem ist, dass ich kein Äquivalent für selen.wait_for_condition finden kann. Haben die Python-Bindungen das zur Zeit oder ist es noch geplant?

    
hwiechers 12.09.2010, 10:37
quelle

3 Antworten

9

Derzeit ist es nicht möglich, wait_for_condition mit WebDriver zu verwenden. Der Python-Selencode stellt die DrivenSelenium-Klasse für den Zugriff auf die alten Selenmethoden bereit, kann aber keine wait_for_condition ausführen. Das Selen Wiki hat dazu einige Informationen .

Am besten verwenden Sie die Klasse WebDriverWait. Dies ist eine Hilfsklasse, die regelmäßig eine Funktion ausführt, die darauf wartet, dass sie True zurückgibt. Meine allgemeine Verwendung ist

%Vor%

Diese Lösung ist auf keinen Fall ideal. Das try / except ist für Situationen erforderlich, in denen der Seitenanforderungs- / antwortzyklus verzögert ist und auf den Abschluss einiger Ajaxaktivitäten wartet. Wenn compare_source in der Mitte des Anfrage / Antwort-Zyklus aufgerufen wird, wird eine WebDriverException ausgelöst.

Die Testabdeckung für WebDriverWait ist auch hilfreich zu sehen.

    
schickm 11.11.2011, 02:38
quelle
2

Hier ist meine Version von Greg Sadetskys Antwort in eine Funktion:

%Vor%

Es klickt auf die Schaltfläche, wartet auf die Änderung des DOM und kehrt dann zurück.

    
Nimo 30.04.2014 08:10
quelle
0

Die Java-Bindung enthält eine Wait-Klasse. Diese Klasse überprüft wiederholt auf eine Bedingung (mit zwischen), bis eine Zeitüberschreitung erreicht wird. Wenn Sie die Fertigstellung Ihres Javascript mit der normalen API feststellen können, können Sie den gleichen Ansatz wählen.

    
hwiechers 18.09.2010 19:20
quelle

Tags und Links