wait(...)的所有變體都從下面的代碼拋出下面的異常。我究竟做錯了什麼?driver.wait()拋出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();
}
顯然,從seleniunm 2開始並不需要等待,因爲它支持隱式等待。對於隱式等待,您只需使用其中一個findElement方法,並且如果目標元素不存在或不可見,Selenium將一直等到它。不幸的是,這個例子已經過時了,但是如果你看看我最近的一些例子,希望你會發現它們的工作。 http://seleniumexamples.com/blog/examples/selenium-2-examples/ – 2011-05-02 17:20:27