2013-08-22 15 views

Odpowiedz

8

2 podejścia:

  1. Jeśli trzeba czekać dokładnie 60 sekund można użyć Thread.Sleep (60000)

  2. Jeśli chcesz się upewnić, że strona jest ładowana (może to być mniej niż lub więcej niż 60 sekund) Polecam poniższą metodę:

Identyfikacja element na stronie docelowej & czekać na kliknięcie. Jesteś wtedy pewny, że strona została załadowana.

WebDriverWait wait = new WebDriverWait(driver,120); 
wait.until(ExpectedConditions.elementToBeClickable(By.id(id))); 

WebDriver czeka maksymalnie 120 sekund. aby element był klikalny. Jeśli element będzie klikalny przedtem, twój test będzie się rozwijał.

+0

Tak, Thread.sleep (60000) to lepszy i łatwiejszy kod, który należy poczekać przez pewien czas przed załadowaniem następnej strony. Jawne oczekiwanie lepiej jest poczekać na element. –

1
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
+0

Dzięki za pomoc. Powyższy kod dotyczy wszystkich elementów. Ale chcę poczekać 60 sekund. przed załadowaniem kolejnej strony po kliknięciu przycisku Logowanie (zakładając, że jest to strona logowania -> kliknij przycisk Zaloguj po wypełnieniu niezbędnych informacji -> lubię czekać 60 sekund przed załadowaniem wybranej strony). –

+0

Wypróbuj to! Thread.sleep (60000L); –

+0

niejawnieWait jest globalna. Nie chcesz czekać na elementy, które nie wymagają czekania. –