Maison >Java >javaDidacticiel >Pourquoi mon test de connexion Gmail Selenium WebDriver renvoie-t-il une « ElementNotInteractableException » lors de la saisie du mot de passe ?
Selenium WebDriver génère une exception dans le fil de discussion "main" org.openqa.selenium.ElementNotInteractableException
Problème :
Dans un scénario de test Selenium WebDriver visant à capturer et tester Connexion Gmail, le test échoue avec une "ElementNotInteractableException" lors de la tentative de saisie du mot de passe.
Cause :
L'"ElementNotInteractableException" est levée lorsque le WebDriver rencontre un élément avec lequel on ne peut pas interagir, bien qu'il soit présent dans le code HTML DOM.
Solutions :
Spécifique à ce problème :
Dans ce scénario, la cause est l'absence d'attente explicite pour que le champ du mot de passe devienne rendu dans le DOM HTML. L'ajout d'un ExplicitWait avec ExpectedCondition "elementToBeClickable" résout ce problème.
Solution de code :
... WebDriver driver = new FirefoxDriver(); ... // Wait up to 20 seconds for the password field to become clickable WebDriverWait wait = new WebDriverWait(driver, 20); wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='password']"))); password.sendKeys("test1"); ...
En implémentant cette solution, le test devrait se dérouler sans problème, en capturant le mot de passe correctement et en complétant le test de connexion à Gmail.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!