Найти тему
DAILY.CODE

Selenium WebDriver Waits ч. 2 Неявное ожидание Implicit Wait

Методы неявного ожидания указывают Selenium WebDriver, что при поиске какого-либо элемента веб-страницы необходимо ожидать определенное количество времени, для того, чтобы этот элемент успел, например, появиться на экране.

Методы неявного ожидания ( Implicit Wait ) могут значительно увеличить время выполнения программы, так как ей придется останавливаться каждый раз на определенное время, перед тем как произвести поиск элемента на веб-странице.

Чтобы иметь возможность работать с методами неявного ожидания (Implicit Wait ) необходимо выполнить импорт:

import java.util.concurrent.TimeUnit;

Пример использования Implicit Wait :

package implicitWaitExample;

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class ImplicitWaitTest {

private WebDriver wd;
private String url;
private WebElement wElement;

@BeforeMethod
public void setup() throws Exception {
wd = new FirefoxDriver();
url = "http://www.google.com";
wd.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}

@Test
public void pureTest() throws Exception {
wd.get(url);
wElement = wd.findElement(By.id("lst-ib"));
wElement.sendKeys("Selenium WebDriver Interview questions");
wElement.sendKeys(Keys.RETURN);
List<WebElement> list = wd.findElements(By.className("_Rm"));
System.out.println(list.size());
}

@AfterMethod
public void shutdown() throws Exception {
wd.quit();
}
}