使用Java 使用Selenium WebDriver 處理驗證彈出視窗
Web 應用程式中的驗證彈出視窗有時會給使用Selenium WebDriver 的自動化測試帶來挑戰。處理這些彈出視窗的常見方法是設定瀏覽器首選項並修改 URL 以包含登入憑證。然而,這種方法可能並不總是有效。
遇到的問題:
嘗試使用以下程式碼處理驗證彈出視窗時,彈出視窗仍然出現,測試可以僅在手動取消後繼續它:
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 + "/");
解決方案:
要繞過身份驗證彈出視窗並自動化身份驗證過程,我們可以利用Selenium 3.4 中引入的authenticateUsing() 方法。以下是包含此方法的更新程式碼片段:
WebDriverWait wait = new WebDriverWait(driver, 10); Alert alert = wait.until(ExpectedConditions.alertIsPresent()); alert.authenticateUsing(new UserAndPassword(username, password));
注意:
以上是Java中的Selenium WebDriver如何有效率地處理驗證彈出視窗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!