Maison >Java >javaDidacticiel >Comment Selenium WebDriver en Java peut-il gérer efficacement les fenêtres contextuelles d'authentification ?
Gestion des fenêtres contextuelles d'authentification avec Selenium WebDriver à l'aide de Java
Les fenêtres contextuelles d'authentification dans les applications Web peuvent parfois poser des problèmes pour les tests automatisés à l'aide de Selenium WebDriver. Une approche courante pour gérer ces fenêtres contextuelles consiste à définir les préférences du navigateur et à modifier l'URL pour inclure les informations de connexion. Cependant, cette approche peut ne pas toujours fonctionner efficacement.
Problème rencontré :
Lorsque vous essayez de gérer les fenêtres contextuelles d'authentification à l'aide du code suivant, la fenêtre contextuelle apparaît toujours et le test peut ne procéder qu'après avoir annulé manuellement it :
FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("network.http.phishy-userpass-length", 255); profile.setPreference("network.automatic-ntlm-auth.trusted-uris", "x.x.x.x"); driver = new FirefoxDriver(profile); baseUrl="http://" + login + ":" + password + "@" + url; driver.get(baseUrl + "/");
Solution :
Pour contourner la fenêtre contextuelle d'authentification et automatiser le processus d'authentification, nous pouvons exploiter la méthode AuthenticateUsing() introduite dans Selenium 3.4. Voici un extrait de code mis à jour qui intègre cette méthode :
WebDriverWait wait = new WebDriverWait(driver, 10); Alert alert = wait.until(ExpectedConditions.alertIsPresent()); alert.authenticateUsing(new UserAndPassword(username, password));
Remarque :
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!