Proxy Kimlik Doğrulaması Nasıl Kullanılır? Selenium Web sürücüsü

⚡ Akıllı Özet

Proxy kimlik doğrulaması Selenium WebDriver, bir tarayıcı güvenli bir proxy sunucusu üzerinden bağlandığında görünen kimlik doğrulama açılır penceresini yönetir. Çünkü Selenium Yerel diyalog kutularını doğrudan kullanamadığınızda, iki yaklaşım AutoIt aracını ve yerleşik uyarıları kullanır.

  • 🛡️ Vekil rolü: Proxy, gizlilik, güvenlik ve içerik filtreleme sağlayan bir aracıdır.
  • 🔀 SOCKS ve HTTP karşılaştırması: SOCKS veri yorumlamaz; bir HTTP proxy'si yalnızca HTTP isteklerini okur.
  • 🪟 Yerel açılır pencereler: Selenium İşletim sistemi diyaloglarını işleyemiyor, bu nedenle harici yardım gerekiyor.
  • AutoIt yöntemi: Derlenmiş bir AutoIt betiği, kullanıcı adını ve şifreyi açılır pencereye gönderir.
  • ???? Uyarı yöntemi: Uyarıya geçin ve sendKeys komutuyla kimlik bilgilerini gönderin, ardından onaylayın.

Proxy Kimlik Doğrulamasını Yönetme Selenium Web Sürücüsü

Proxy nedir?

Proxy, istek gönderen istemciler ile yanıt veren sunucu arasında aracı görevi görür. Proxy'nin birincil kullanımı, birden fazla etkileşimli sistem arasında gizliliği ve kapsüllemeyi korumaktır.

Proxy ayrıca, İstemci ile web sunucuları arasında bir güvenlik duvarı görevi görerek web üzerinde başka bir güvenlik katmanı da ekleyebilir. Bu, özellikle müşterilerin kullandığı web sitelerinin, web sitesi içeriğine göre izin verildi veya engellendi olarak etiketlenmesi gerektiğinde kullanılır.

Bu işlem 'İçerik Filtreleme' olarak bilinir ve en yaygın olarak Eğitim Kurumlarında, Kurumsal Ofislerde vb. kullanılır. İçerik Filtreleme, bir proxy yardımıyla kolayca gerçekleştirilebilir. İnternet açısından bir proxy, istemci makineler ile yanıt veren gerçek web veya veritabanı sunucuları arasında duran ayrı bir sunucu olarak uygulanabilir.

SOCKS ve HTTP Proxy arasındaki fark

ÇORAP HTTP Proxy'si
SOCKS, güvenli prizler anlamına gelir. Genellikle İstemci ile sunucu arasında güvenlik duvarı olarak kullanılır. HTTP Proxy, İstemci ile sunucu arasında güvenlik duvarı olarak da kullanılabilir ancak yalnızca HTTP İstekleri için kullanılabilir.
SOCKS, değiştirilen verileri yorumlamaz HTTP Proxy, İstemci ile sunucu arasında alınıp verilen verileri yorumlar
Performans açısından daha yavaş SOCKS'a kıyasla daha iyi performans

Proxy Nasıl Kullanılır? Selenium Chrome'da web sürücüsü

HTTP Proxy kimlik doğrulaması ile Selenium Chrome'da aşağıdaki yaklaşımlar kullanılarak işlenebilir

  • AutoIt aracını kullanarak
  • Uyarıları Kullanma

AutoIt aracını kullanarak

AutoIt, Windows masaüstü otomasyonu için kullanılan üçüncü taraf bir araçtır. Selenium yalnızca web tabanlı açılır pencereleri ve pencereleri yönetir, işletim sistemi denetimlerini yönetmek mümkün değildir Selenium.

Bu, AutoIt gibi harici üçüncü taraf araçların entegrasyonunu gerektirir. SeleniumBu nedenle AutoIt, web sitelerinde dosya yükleme ve dosya indirme işlemlerini yönetmek için en yaygın olarak kullanılmaktadır.

AutoIt'i kullanmak için, AutoIt yazılımını yerel bilgisayarlarınıza indirip kurmanız gerekmektedir.

AutoIt'in indirilmesi ve kurulumu bu bölümde ele alınmıştır. göre.

Programlar – Autoit aracı – SciTE Script Düzenleyicisini açın ve aşağıda belirtilen AutoIt betiğini Autoit düzenleyicisine ekleyin ve sisteminize 'ProxyAuthentication.au3' olarak kaydedin.

Dosyayı derleyin ve 'ProxyAuthentication.exe' olarak dönüştürün.

In EclipseAutoIt dosyasını ekleyin. Selenium Komut dosyası ve çalıştırma

Aşağıda HTTP Proxy kimlik doğrulaması için AutoIt betiği bulunmaktadır.

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

AutoIt dosyasını çalıştırmak için iletmeniz gerekiyor. Selenium aşağıdaki kodu kullanarak web sürücüsü

Kaynak 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 Açıklama:

  • İlk adımda, sistem özelliğini chromedriver.exe dosyasını işaret edecek şekilde ayarlayarak Chrome sürücüsünün bir örneğini başlatıyorsunuz.
  • İkinci adımda, bir web sürücüsü nesnesi başlatıyorsunuz ve web sitesini ona iletiyorsunuz. URL get yöntemini kullanarak
  • Son olarak, AutoIt komut dosyası kullanarak HTTP Proxy kimlik doğrulama açılır penceresine kullanıcı adı ve şifreyi iletiyorsunuz.

Code Çıktı:

AutoIt Kullanarak Kullanıcı Adı Uyarılarının İşlenmesi
AutoIt Kullanarak Kullanıcı Adı Uyarılarının İşlenmesi
AutoIt Kullanarak Şifre Uyarılarının İşlenmesi

AutoIt Kullanarak Şifre Uyarılarının İşlenmesi
Proxy Kimlik Doğrulama Başarı Ekranı

Proxy Kimlik Doğrulama Başarı Ekranı

Uyarıları Kullanma

Uyarılar, tarafından sağlanan basit ve dahili bir özelliktir. Selenium ağ sürücüsü. Proxy kimlik doğrulama açılır pencerelerini aşağıdakileri kullanarak yönetebilirsiniz: Selenium Web sürücüsünü HTTP proxy kimlik doğrulama uyarısına geçerek ve kullanıcı adı ile parolayı doğrudan uyarıya ileterek etkinleştirebilirsiniz. Anahtar gönderme yönteminin yardımıyla.

Örnek E-posta:

Test Senaryosu:

Web sitesindeki HTTP Proxy kimlik doğrulama açılır penceresini yönetin: https://demo.guru99.com/test/basic_auth.php Uyarıları kullanma Selenium ağ sürücüsü.

Kaynak kodu Örnek:

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 Çıktı

Proxy Kimlik Doğrulaması başarıyla tamamlandı.

Code Açıklama:

  • Başlangıçta, webdriver özelliğini chromedriver.exe dosyasının konumunu işaret edecek şekilde ayarlayarak Chrome sürücüsünün bir örneğini oluşturuyorsunuz
  • Ardından, açıyorsunuz... URL Gerekli web sitesine erişim, geçiş yaparak sağlanır. URL driver.get() yöntemine parametre olarak
  • bir Zamanlar URL Açılan pencerede, kullanıcı adı uyarısına geçiyor ve guru99 kullanıcı adını gönderiyorsunuz. Ardından, alert.accept yöntemini kullanarak uyarıdaki Tamam düğmesine tıklıyorsunuz.
  • Daha sonra şifre uyarısına geçiyor ve guru99 şifresini gönderiyorsunuz. Daha sonra alarm.accept yöntemini kullanarak uyarıdaki Tamam düğmesine tıklıyorsunuz.

SSS

Kimlik bilgilerini https://user:pass@site.com şeklinde ekleyebilirsiniz, ancak modern Chrome ve Firefox Güvenlik nedeniyle bunu engelleyin. Proxy kimlik doğrulaması için uyarılar veya tarayıcı uzantıları artık daha güvenilir.

AutoIt otomasyon sağlar Windows masaüstü kontrolleri Selenium Ulaşılamayan yerlere, örneğin yerel kimlik doğrulama açılır pencerelerine ve dosya yükleme iletişim kutularına erişemezsiniz. Bir AutoIt betiğini çalıştırılabilir bir dosyaya derlersiniz ve onu çağırırsınız. Selenium kodu.

Proxy, belirli uygulamalar veya tarayıcılar için trafiği yeniden yönlendirir; temel olarak IP adreslerini gizler veya içeriği filtreler. VPN ise tüm cihaz trafiğini sistem genelinde şifreleyerek standart bir proxy'den daha güçlü gizlilik sağlar.

Evet. Yapay zeka destekli test araçları, kimlik doğrulama iletişim kutularını algılar, saklanan kimlik bilgilerini ekler ve açılır pencere davranışında değişiklik olduğunda kendini onarır; böylece tarayıcılar genelinde kırılgan AutoIt komut dosyalarına olan bağımlılığı azaltır.

Yapay zeka araçları, proxy'leri akıllıca değiştirir, engellenen istekleri tespit eder ve kimlik doğrulama istemleri göründüğünde bekleme sürelerini ayarlar. Bu otomasyon, kurumsal veya içerik filtreleme proxy'lerinin arkasındaki siteler için test istikrarını artırır.

Evet. Selenium 4. sürümde Chrome Geliştirici Araçları Protokolü desteği eklendi; bu sayede HTTP kimlik bilgilerini programatik olarak ayarlayabilir ve temel kimlik doğrulamasını yönetebilirsiniz, böylece birçok proxy senaryosunda AutoIt'e gerek kalmaz.

Bu yazıyı şu şekilde özetleyin: