Wie zu warten, eine Seite vor der anderen Seite in Selenium mit Java WebDriver?
Ich bin neu in Selen. Ich bin mit Selenium mit Java WebDriver. Ich benutze eclipse als IDE. Ich habe geschrieben einige code für die Login-Seite und es wird erfolgreich ausgeführt. Ich will jetzt auf die gewünschte Seite nach dem erfolgreichen login, aber ich will warten, bis einige Zeit vor der Durchfahrt einer anderen Seite. Wie kann ich warten, eine Seite vor dem laden einer anderen Seite?
Thread.sleep()
?Was verwenden Sie? Selenium RC Oder Selenium WebDriver?
InformationsquelleAutor Nasrin Naher | 2013-08-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich weiß, gibt es 3 Möglichkeiten:
Implizite warten: (Es ist anwendbar für alle Elemente auf der Seite)
driver.manage().timeouts().implicitlyWait(A_GIVEN_NUMBER, TimeUnit.SECONDS);
Explizite warten: (Gilt für ein bestimmtes element)
WebDriverWait.until(CONDITION_THAT_FINDS_AN_ELEMENT);
Spezifischen code ist wie folgt:
Mit Gewinde:
Thread.sleep(NUMBER_OF_MILLIS);
WebDriverWait ist besser zu warten, für ein element. In diesem Fall, es braucht, um zu identifizieren ein element der landing-page.
Was bedeutet die Zahl 40 stehen in der Aussage : WebDriverWait warten = new WebDriverWait(Fahrer, 40);
Das Zeitlimit in Sekunden an, wenn eine Erwartung genannt wird
InformationsquelleAutor M. Abbas
Ich würde wirklich raten von der Verwendung von Thread.schlafen(NUMBER_OF_MILLS). Es wird nicht stabil sein, und Sie traf Gelegenheiten, bei denen der Schlaf nicht lange genug.
Wenn Sie einfach warten, für den DOM zu laden, dann eine WebDriver-Ereignis auslöst, das laden der Seite wird immer warten, bis die DOM-laden, vor dem zurückgeben der Steuerung.
Jedoch, wenn AJAX verwendet wird, ändern Sie die HTML nach DOM -, dann würde ich Ihnen raten, zu verwenden, WebDriverWait, und warten Sie, bis ein Ereignis passiert (z.B. Objekt wird in html -, text-änderungen, etc.)
Wenn du eine Sache Weg von diesem post, dann bitte aufhören mit Schlafen!
InformationsquelleAutor Robbie Wareham
Klasse WebDriverWait
Selen explizite /implizite warten
Können Sie warten, bis das element, das Sie erwarten auf der nächsten Seite kommt. :
Until
Methode.InformationsquelleAutor r3ap3r
Versuchen mithilfe implicitlyWait für 60 sec. wie folgt in Selenium WebDriver:
Wenn Sie müssen warten, mehr machen, es 80, 90 und so weiter.
Für Selenium RC können Sie den code wie folgt:
Es kann getan werden, indem Thread wie folgt:
Explizite warten in WebDriver, identifizieren ein element beim laden der Seite und Schreibe den code wie folgt:
InformationsquelleAutor Ripon Al Wasim
Ich habe diesen Ansatz. Versuchen Sie herauszufinden, welches element auf der Seite ist der Letzte laden. Durch die Einnahme der locator des Elements und prüfen Sie die Existenz mit isDisplayed, werden Sie in der Lage, um zu sehen, wenn die gesamte Seite geladen
InformationsquelleAutor Pinakin Chaubal