Home >Java >javaTutorial >How to Handle Authentication Pop-ups in Selenium WebDriver Using Java?
Handle Authentication Popup with Selenium WebDriver Using Java
In Selenium WebDriver, navigating to a page that requires authentication often triggers a pop-up window. However, the code provided in the question still displays the authentication popup even after the user enters the correct credentials. This can be frustrating and hinder automation efforts.
The solution lies in utilizing the authenticateUsing() method of the Alert class. This method allows you to bypass the basic HTTP authentication popup and authenticate the user automatically. Here's the modified code:
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)); } }
In this updated code, the authenticateUsing() method is called with the correct username and password. This should automatically authenticate the user and dismiss the popup, allowing the page to load successfully.
Note:
The above is the detailed content of How to Handle Authentication Pop-ups in Selenium WebDriver Using Java?. For more information, please follow other related articles on the PHP Chinese website!