Todas las variaciones de wait (...) arrojan la siguiente excepción del siguiente código. ¿Qué estoy haciendo mal?driver.wait() arroja IllegalMonitorStateException
java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at LoginPage.main(LoginPage.java:29)
try
{
driver.get("http://domain:port/coco/webapp/login/login.faces");
driver.findElement(By.id("clientCode")).sendKeys("coco");
driver.findElement(By.id("systemCode")).sendKeys("consumer");
driver.findElement(By.id("userId")).sendKeys("ffadmin");
driver.findElement(By.id("password")).sendKeys("password");
driver.findElement(By.className("af_commandButton")).click();
driver.wait();
Assert.assertTrue(driver.getPageSource().contains("Administration"));
}
catch (Exception e)
{
e.printStackTrace();
}
Aparentemente, no se requiere esperar desde seleniunm 2 en adelante, ya que admite esperas implícitas. Con esperas implícitas, solo necesita usar uno de los métodos findElement, y si el elemento objetivo no existe o no está visible, Selenium esperará hasta que lo haga. Lamentablemente, este ejemplo no está actualizado, sin embargo, si mira algunos de mis ejemplos más recientes, con suerte verá que están funcionando. http://seleniumexamples.com/blog/examples/selenium-2-examples/ –