le pilote.wait() throws IllegalMonitorStateException
Toutes les variations d'attendre(...) sont à jeter le ci-dessous exception à partir du code suivant. Ce que je fais mal?
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();
}
OriginalL'auteur Aravind R. Yarram | 2011-05-02
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez
wait
sur un objet si vous avez acquis la serrure à l'aide desynchronized
.Je ne sais pas si vous êtes signifiait à utiliser
wait
à l'aide de WebDriver - si vous l'êtes, vous auriez besoin de quelque chose comme:Toutefois, si vous êtes en attente de quelque chose de se produire, il est plus probable qu'il existe une autre méthode que vous êtes censé être en utilisant. Peut-être
WebDriverWait
?OriginalL'auteur Jon Skeet
J'espère que cela vous aide à
OU
Veuillez noter que je n'ai pas exécuté ce code que je n'ai pas de webdriver mais je l'ai écrit après en se référant à la documentation javadoc.
Veuillez vous référer la documentation javadoc pour plus de détails sur cette.
Merci pour le tuyau. Je l'ai corrigé.
OriginalL'auteur 9ikhan
C'est un nécro, mais comme il n'y a pas de meilleures réponses, et quelqu'un d'autre peut se produire par les: vous appelez la méthode incorrecte.
Vous avez probablement prévu d'appeler le sélénium méthode attendre à une condition:
https://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/WebDriverWait.html
Ce que vous avez appelé le très primitive multithreading méthode (attendre jusqu'à ce que quelqu'un d'autre a appelé notify() sur votre fil):
https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html
OriginalL'auteur Hazel Troost
Utiliser le code ci-dessous, cela fonctionnera.
OriginalL'auteur aashishpandey