Maison >Java >javaDidacticiel >Comment gérer les fenêtres contextuelles d'authentification dans Selenium WebDriver à l'aide de Java ?
Gérer la fenêtre contextuelle d'authentification avec Selenium WebDriver à l'aide de Java
Dans Selenium WebDriver, la navigation vers une page qui nécessite une authentification déclenche souvent une fenêtre contextuelle . Cependant, le code fourni dans la question affiche toujours la fenêtre contextuelle d'authentification même après que l'utilisateur a saisi les informations d'identification correctes. Cela peut être frustrant et entraver les efforts d'automatisation.
La solution réside dans l'utilisation de la méthode AuthenticateUsing() de la classe Alert. Cette méthode vous permet de contourner la fenêtre contextuelle d'authentification HTTP de base et d'authentifier automatiquement l'utilisateur. Voici le code modifié :
import org.openqa.selenium.Alert; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class EnhancedAuthenticationHandling { public static void main(String[] args) { // Set up Firefox profile to accept long username and password FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("network.http.phishy-userpass-length", 255); profile.setPreference("network.automatic-ntlm-auth.trusted-uris", "x.x.x.x"); // Create FirefoxDriver with the modified profile WebDriver driver = new FirefoxDriver(profile); // Navigate to the protected page String login = "username"; String password = "password"; String url = "http://protectedpage.com"; String baseUrl = "http://" + login + ":" + password + "@" + url; driver.get(baseUrl + "/"); // Wait for authentication alert to appear WebDriverWait wait = new WebDriverWait(driver, 10); Alert alert = wait.until(ExpectedConditions.alertIsPresent()); // Authenticate using the provided credentials alert.authenticateUsing(new UserAndPassword(login, password)); } }
Dans ce code mis à jour, la méthode AuthenticateUsing() est appelée avec le nom d'utilisateur et le mot de passe corrects. Cela devrait automatiquement authentifier l'utilisateur et fermer la fenêtre contextuelle, permettant ainsi à la page de se charger avec succès.
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!