Maison >Java >javaDidacticiel >Pourquoi mon test de connexion Gmail Selenium WebDriver renvoie-t-il une « ElementNotInteractableException » lors de la saisie du mot de passe ?

Pourquoi mon test de connexion Gmail Selenium WebDriver renvoie-t-il une « ElementNotInteractableException » lors de la saisie du mot de passe ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-28 04:36:10264parcourir

Why Does My Selenium WebDriver Gmail Login Test Throw an

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 :

  • Superposition temporaire : Si un autre élément recouvre temporairement l'élément cible, induisant une ExplicitWait avec ExpectedCondition "elementToBeClickable " peut résoudre ce problème.
  • Permanent Superposition : Si la superposition est permanente, convertissez le WebDriver en "JavascriptExecutor" et exécutez l'opération de clic via JavaScript.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn