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
Libérer: 2024-11-28 04:36:10
original
305 Les gens l'ont consulté

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");
...
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal