Rumah > Java > javaTutorial > Bagaimana untuk Mengendalikan Pop timbul Pengesahan dalam Selenium WebDriver Menggunakan Java?

Bagaimana untuk Mengendalikan Pop timbul Pengesahan dalam Selenium WebDriver Menggunakan Java?

Susan Sarandon
Lepaskan: 2024-12-10 02:16:09
asal
647 orang telah melayarinya

How to Handle Authentication Pop-ups in Selenium WebDriver Using Java?

Kendalikan Pop Timbul Pengesahan dengan Selenium WebDriver Menggunakan Java

Dalam Selenium WebDriver, menavigasi ke halaman yang memerlukan pengesahan sering mencetuskan tetingkap timbul . Walau bagaimanapun, kod yang diberikan dalam soalan masih memaparkan pop timbul pengesahan walaupun selepas pengguna memasukkan bukti kelayakan yang betul. Ini boleh mengecewakan dan menghalang usaha automasi.

Penyelesaian terletak pada menggunakan kaedah authenticateUsing() kelas Alert. Kaedah ini membolehkan anda memintas pop timbul pengesahan HTTP asas dan mengesahkan pengguna secara automatik. Berikut ialah kod yang diubah suai:

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));
       
    }
}
Salin selepas log masuk

Dalam kod yang dikemas kini ini, kaedah authenticateUsing() dipanggil dengan nama pengguna dan kata laluan yang betul. Ini sepatutnya mengesahkan pengguna secara automatik dan mengetepikan pop timbul, membenarkan halaman dimuatkan dengan jayanya.

Nota:

  • Kaedah authenticateUsing() hanya disokong dalam Selenium WebDriver versi 3.4 dan ke atas, dan ia masih dianggap sebagai beta ciri.
  • Pada masa ini, ia hanya dilaksanakan untuk InternetExplorerDriver.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Pop timbul Pengesahan dalam Selenium WebDriver Menggunakan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan