Методы неявного ожидания указывают 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();
}
}