Cara Menangani Otentikasi Proxy di Selenium Driver web

⚡ Ringkasan Cerdas

Otentikasi proksi di Selenium WebDriver menangani jendela pop-up kredensial yang muncul saat browser terhubung melalui server proxy yang aman. Karena Selenium Jika tidak dapat mengoperasikan dialog asli secara langsung, ada dua pendekatan yang menggunakan alat AutoIt dan peringatan bawaan.

  • 🛡️ Peran proksi: Proxy adalah perantara yang menambahkan privasi, keamanan, dan penyaringan konten.
  • 🔀 SOCKS vs HTTP: SOCKS tidak menginterpretasikan data; proxy HTTP hanya membaca permintaan HTTP.
  • 🪟 Popup bawaan: Selenium tidak dapat menangani dialog sistem operasi, jadi bantuan eksternal diperlukan.
  • Metode AutoIt: Skrip AutoIt yang telah dikompilasi mengirimkan nama pengguna dan kata sandi ke jendela pop-up.
  • 🚨 Metode peringatan: Beralihlah ke peringatan dan kirim kredensial dengan sendKeys, lalu terima.

Tangani Otentikasi Proksi di Selenium webdriver

Apa itu Proksi?

Proksi bertindak sebagai perantara antara klien yang mengirimkan permintaan dan server merespons. Kegunaan utama dari proxy adalah untuk menjaga privasi dan enkapsulasi antara beberapa sistem interaktif.

Proksi juga dapat menambahkan lapisan keamanan lain di web dengan bertindak sebagai firewall antara Klien dan server web. Hal ini terutama digunakan ketika situs web yang digunakan klien harus diberi label diizinkan atau diblokir berdasarkan konten situs web.

Proses ini dikenal sebagai 'Pemfilteran Konten' dan paling umum digunakan di Institusi Pendidikan, Kantor Perusahaan, dll. Penyaringan Konten dapat dengan mudah dilakukan dengan bantuan proxy. Dalam istilah Internet, proxy dapat diimplementasikan sebagai server terpisah yang berdiri di antara mesin klien dan server web atau database aktual yang merespons.

Perbedaan antara SOCKS dan Proksi HTTP

SOCKS Proxy HTTP
SOCKS adalah singkatan dari soket aman. Biasanya digunakan sebagai firewall antara Klien dan server HTTP Proxy juga dapat digunakan sebagai firewall antara Client dan server namun hanya dapat digunakan untuk HTTP Request saja
SOCKS tidak menafsirkan data yang dipertukarkan Proxy HTTP menafsirkan data yang dipertukarkan antara Klien dan server
Lebih lambat dalam hal kinerja Performa lebih baik dibandingkan SOCKS

Cara Menangani Proxy di Selenium driver web di Chrome

Otentikasi Proksi HTTP dengan Selenium di Chrome dapat ditangani menggunakan pendekatan berikut

  • Menggunakan alat AutoIt
  • Menggunakan Peringatan

Menggunakan alat AutoIt

AutoIt adalah alat pihak ketiga yang digunakan untuk otomatisasi desktop Windows. Karena Selenium hanya menangani popup dan jendela berbasis web, penanganan kontrol sistem operasi tidak dimungkinkan menggunakan Selenium.

Hal ini memerlukan penggunaan alat pihak ketiga eksternal seperti AutoIt untuk diintegrasikan dengan SeleniumOleh karena itu, AutoIt paling sering digunakan untuk menangani pengunggahan dan pengunduhan file di situs web.

Untuk menggunakan AutoIt, Anda perlu mengunduh dan menginstal perangkat lunak AutoIt di komputer lokal Anda.

Cara mengunduh dan menginstal AutoIt dibahas dalam artikel.

Buka Program – Alat Autoit – Editor Skrip SciTE dan tambahkan skrip AutoIt yang disebutkan di bawah ini di editor Autoit dan simpan sebagai 'ProxyAuthentication.au3' di sistem Anda

Kompilasi file dan Konversikan sebagai 'ProxyAuthentication.exe.'

In Eclipse, tambahkan file AutoIt ke Selenium Skrip dan jalankan

Berikut adalah skrip AutoIt untuk otentikasi Proksi HTTP.

Send("guru99{ENTER}")
Send("guru99{ENTER}")

Anda perlu meneruskan file AutoIt untuk dieksekusi pada Selenium webdriver menggunakan kode di bawah ini

sumber Code:

package Guru99Demo;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AutoItDemo {
    public static void main(String[] args) throws IOException {
        System.setProperty("webdriver.chrome.driver", "D:\\ chromedriver.exe");;
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/basic_auth.php");
        //Passing the AutoIt Script to Selenium	
        Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe");
    }
}

Code Penjelasan:

  • Pada langkah pertama, Anda menginisialisasi instance driver Chrome dengan mengatur properti sistem untuk mengarahkan file chromedriver.exe
  • Pada langkah kedua, Anda kemudian menginisialisasi objek web driver dan meneruskan situs web tersebut. URL menggunakan metode get
  • Terakhir, Anda mengirimkan nama pengguna dan kata sandi ke jendela pop-up otentikasi Proksi HTTP menggunakan file skrip AutoIt.

Code Keluaran:

Penanganan Peringatan Nama Pengguna Menggunakan AutoIt
Penanganan Peringatan Nama Pengguna Menggunakan AutoIt
Penanganan Peringatan Kata Sandi Menggunakan AutoIt

Penanganan Peringatan Kata Sandi Menggunakan AutoIt
Layar Keberhasilan Otentikasi Proksi

Layar Keberhasilan Otentikasi Proksi

Menggunakan Peringatan

Peringatan adalah fitur bawaan yang sederhana yang disediakan oleh Selenium pengemudi web. Anda dapat menangani popup otentikasi proxy menggunakan Selenium driver web dengan beralih ke peringatan autentikasi proksi HTTP dan meneruskan nama pengguna dan kata sandi langsung ke peringatan tersebut. Dengan bantuan metode kirim kunci.

Example:

Skenario Uji:

Tangani popup autentikasi Proxy HTTP di situs web: https://demo.guru99.com/test/basic_auth.php menggunakan Peringatan di Selenium pengemudi web.

Contoh kode sumber:

package Guru99Demo;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AlertsDemo {
    public static void main(String args[]) throws IOException {
        System.setProperty("webdriver.chrome.driver", "D:\\Data_Personal\\Software\\chromedriver_win32\\chromedriver.exe");;
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/basic_auth.php");
        // Handling Username alert
        driver.switchTo().alert().sendKeys("guru99");
        driver.switchTo().alert().accept();
        // Handling Password alert
        driver.switchTo().alert().sendKeys("guru99");
        driver.switchTo().alert().accept();
    }
}

Code Keluaran

Otentikasi Proksi berhasil dilakukan.

Code Penjelasan:

  • Awalnya, Anda membuat instance driver Chrome dengan mengatur properti webdriver untuk menunjukkan lokasi file chromedriver.exe
  • Kemudian, Anda membuka URL dari situs web yang dibutuhkan dengan melewati URL sebagai parameter untuk metode driver.get()
  • Sekali URL Setelah dibuka, Anda beralih ke peringatan nama pengguna dan mengirimkan nama pengguna – guru99. Kemudian Anda mengklik tombol OK pada peringatan menggunakan metode alert.accept.
  • Kemudian, Anda beralih ke peringatan kata sandi dan mengirimkan kata sandi – guru99. Anda kemudian mengklik tombol OK pada peringatan menggunakan metode alert.accept

Pertanyaan Umum Demo Slot

Anda dapat menyematkan kredensial sebagai https://user:pass@site.com, tetapi Chrome versi modern dan Firefox Blokir ini demi keamanan. Notifikasi atau ekstensi browser kini lebih andal untuk otentikasi proxy.

AutoIt mengotomatiskan Windows kontrol desktop yang Selenium tidak dapat dijangkau, seperti popup otentikasi bawaan dan dialog unggah file. Anda mengkompilasi skrip AutoIt menjadi file yang dapat dieksekusi dan memanggilnya dari Selenium kode.

Proxy mengalihkan lalu lintas untuk aplikasi atau browser tertentu, terutama menyembunyikan alamat IP atau memfilter konten. VPN mengenkripsi semua lalu lintas perangkat di seluruh sistem, memberikan privasi yang lebih kuat daripada proxy standar.

Ya. Alat pengujian berbasis AI mendeteksi dialog otentikasi, menyuntikkan kredensial yang tersimpan, dan memperbaiki diri sendiri ketika perilaku popup berubah, mengurangi ketergantungan pada skrip AutoIt yang rentan di berbagai browser.

Alat AI secara cerdas merotasi proxy, mendeteksi permintaan yang diblokir, dan menyesuaikan waktu tunggu saat muncul permintaan otentikasi. Otomatisasi ini meningkatkan stabilitas pengujian untuk situs yang berada di balik proxy perusahaan atau proxy penyaring konten.

Ya. Selenium Versi 4 menambahkan dukungan Protokol Chrome DevTools, memungkinkan Anda mengatur kredensial HTTP secara terprogram dan menangani otentikasi dasar, menghindari AutoIt untuk banyak skenario proxy.

Ringkaslah postingan ini dengan: