So handhaben Sie die Proxy-Authentifizierung in Selenium Webtreiber

โšก Intelligente Zusammenfassung

Proxy-Authentifizierung in Selenium WebDriver kรผmmert sich um das Anmeldeinformations-Popup, das erscheint, wenn ein Browser รผber einen sicheren Proxy-Server eine Verbindung herstellt. Selenium Da native Dialoge nicht direkt bedient werden kรถnnen, werden zwei Ansรคtze verwendet, die das AutoIt-Tool und integrierte Warnmeldungen nutzen.

  • ๐Ÿ›ก๏ธ Proxy-Rolle: Ein Proxy ist ein Vermittler, der Datenschutz, Sicherheit und Inhaltsfilterung hinzufรผgt.
  • ๐Ÿ”€ SOCKS vs HTTP: SOCKS interpretiert keine Daten; ein HTTP-Proxy liest nur HTTP-Anfragen.
  • ๐ŸชŸ Native Popups: Selenium Kann keine Betriebssystemdialoge verarbeiten, daher ist externe Hilfe erforderlich.
  • ๏ธ AutoIt-Methode: Ein kompiliertes AutoIt-Skript sendet Benutzername und Passwort an das Popup-Fenster.
  • ๐Ÿšจ Benachrichtigungsmethode: Wechseln Sie zur Warnmeldung und senden Sie die Anmeldeinformationen mit sendKeys, dann bestรคtigen Sie.

Proxy-Authentifizierung handhaben in Selenium WebTreiber

Was ist ein Proxy?

Ein Proxy fungiert als Vermittler zwischen Clients, die Anfragen senden, und Servern, die antworten. Der Hauptzweck eines Proxys besteht darin, den Datenschutz und die Kapselung zwischen mehreren interaktiven Systemen aufrechtzuerhalten.

Ein Proxy kann auch eine weitere Sicherheitsebene im Web hinzufรผgen, indem er als Firewall zwischen Client und Webservern fungiert. Dies kommt insbesondere dann zum Einsatz, wenn die von Kunden genutzten Websites aufgrund des Website-Inhalts als erlaubt oder gesperrt gekennzeichnet werden mรผssen.

Dieser Prozess ist als โ€žInhaltsfilterungโ€œ bekannt und wird am hรคufigsten in Bildungseinrichtungen, Unternehmensbรผros usw. verwendet. Die Inhaltsfilterung kann mithilfe eines Proxys problemlos durchgefรผhrt werden. Im Internet kann ein Proxy als separater Server implementiert werden, der zwischen Client-Rechnern und den tatsรคchlich antwortenden Web- oder Datenbankservern steht.

Unterschied zwischen SOCKS und HTTP-Proxy

SOCKS HTTP-Proxy
SOCKS steht fรผr gesicherte Steckdosen. Es wird im Allgemeinen als Firewall zwischen dem Client und dem Server verwendet HTTP-Proxy kann auch als Firewall zwischen dem Client und dem Server verwendet werden, kann jedoch nur fรผr HTTP-Anfragen verwendet werden
SOCKS interpretiert die ausgetauschten Daten nicht HTTP-Proxy interpretiert die Daten, die zwischen dem Client und dem Server ausgetauscht werden
Von der Leistung her langsamer Bessere Leistung im Vergleich zu SOCKS

Umgang mit Proxy in Selenium Webtreiber in Chrome

HTTP-Proxy-Authentifizierung mit Selenium in Chrome kann mit den folgenden Ansรคtzen behandelt werden

  • Verwendung des AutoIt-Tools
  • Verwenden von Warnungen

Verwendung des AutoIt-Tools

AutoIt ist ein Drittanbieter-Tool, das zur Automatisierung des Windows-Desktops verwendet wird. Selenium verarbeitet nur webbasierte Popups und Fenster, die Verarbeitung von Betriebssystemsteuerelementen ist nicht mรถglich mit Selenium.

Dies erfordert die Integration externer Drittanbieter-Tools wie AutoIt. SeleniumDeshalb wird AutoIt am hรคufigsten fรผr die Abwicklung von Datei-Uploads und Datei-Downloads auf Webseiten verwendet.

Um AutoIt nutzen zu kรถnnen, mรผssen Sie die AutoIt-Software auf Ihren lokalen Rechnern herunterladen und installieren.

Das Herunterladen und Installieren von AutoIt wird im Folgenden beschrieben. Artikel.

ร–ffnen Sie โ€žProgramme โ€“ Autoit-Tool โ€“ SciTE-Skripteditorโ€œ, fรผgen Sie das unten genannte AutoIt-Skript im Autoit-Editor hinzu und speichern Sie es als โ€žProxyAuthentication.au3โ€œ in Ihrem System

Kompilieren Sie die Datei und konvertieren Sie sie als โ€žProxyAuthentication.exeโ€œ.

In EclipseFรผgen Sie die AutoIt-Datei hinzu zu Selenium Skript erstellen und ausfรผhren

Nachfolgend finden Sie das AutoIt-Skript fรผr die HTTP-Proxy-Authentifizierung.

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

Sie mรผssen die AutoIt-Datei zur Ausfรผhrung รผbergeben. Selenium Webdriver mit dem folgenden Code

Quelle 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 Erlรคuterung:

  • Im ersten Schritt initialisieren Sie eine Instanz des Chrome-Treibers, indem Sie die Systemeigenschaft so festlegen, dass sie auf die Datei chromedriver.exe verweist
  • Im zweiten Schritt initialisieren Sie dann ein Webdriver-Objekt und รผbergeben die Website. URL mit der get-Methode
  • SchlieรŸlich รผbergeben Sie Benutzername und Passwort an das Authentifizierungs-Popup des HTTP-Proxys mithilfe einer AutoIt-Skriptdatei.

Code Ausgang:

Benutzername-Warnungsbehandlung mit AutoIt
Benutzername-Warnungsbehandlung mit AutoIt
Passwortwarnungsverwaltung mit AutoIt

Passwortwarnungsverwaltung mit AutoIt
Erfolgsbildschirm fรผr die Proxy-Authentifizierung

Erfolgsbildschirm fรผr die Proxy-Authentifizierung

Verwenden von Warnungen

Warnungen sind eine einfache, integrierte Funktion, die von bereitgestellt wird Selenium Web-Treiber. Sie kรถnnen mit Proxy-Authentifizierungs-Popups umgehen Selenium Web-Treiber, indem Sie zur HTTP-Proxy-Authentifizierungswarnung wechseln und den Benutzernamen und das Passwort direkt an die Warnung รผbergeben. Mit Hilfe der Methode zum Senden von Schlรผsseln.

Beispiel:

Testszenario:

Behandeln Sie das Popup-Fenster zur HTTP-Proxy-Authentifizierung auf der Website: https://demo.guru99.com/test/basic_auth.php Verwenden von Warnungen in Selenium Web-Treiber.

Quellcode-Beispiel:

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 Ausgang

Proxy-Authentifizierung erfolgreich durchgefรผhrt.

Code Erlรคuterung:

  • Zunรคchst instanziieren Sie eine Instanz des Chrome-Treibers, indem Sie die Webdriver-Eigenschaft so festlegen, dass sie auf den Speicherort der Datei chromedriver.exe verweist
  • Dann รถffnen Sie die URL der erforderlichen Website durch Bestehen der URL als Parameter an die driver.get()-Methode
  • Sobald URL Wenn die Benachrichtigung geรถffnet ist, wechseln Sie zur Benutzernamen-Benachrichtigung und senden den Benutzernamen โ€žguru99โ€œ. AnschlieรŸend klicken Sie in der Benachrichtigung mithilfe der Methode โ€žalert.acceptโ€œ auf die Schaltflรคche โ€žOKโ€œ.
  • AnschlieรŸend wechseln Sie zur Passwortwarnung und senden das Passwort an guru99. AnschlieรŸend klicken Sie in der Warnung mithilfe der Methode โ€žalert.acceptโ€œ auf die Schaltflรคche โ€žOKโ€œ.

Hรคufig gestellte Fragen

Sie kรถnnen Anmeldeinformationen als https://user:pass@site.com einbetten, aber moderne Chrome- und Firefox Blockieren Sie dies aus Sicherheitsgrรผnden. Warnmeldungen oder Browsererweiterungen sind fรผr die Proxy-Authentifizierung mittlerweile zuverlรคssiger.

AutoIt automatisiert Windows Desktop-Steuerelemente Selenium Sie kรถnnen beispielsweise native Authentifizierungs-Popups und Datei-Upload-Dialoge nicht erreichen. Sie kompilieren ein AutoIt-Skript zu einer ausfรผhrbaren Datei und rufen es von dort aus auf. Selenium Code.

Ein Proxy leitet den Datenverkehr fรผr bestimmte Anwendungen oder Browser um und verbirgt dabei hauptsรคchlich IP-Adressen oder filtert Inhalte. Ein VPN verschlรผsselt den gesamten Datenverkehr des Gerรคts systemweit und bietet so einen hรถheren Datenschutz als ein herkรถmmlicher Proxy.

Ja. KI-gestรผtzte Testwerkzeuge erkennen Authentifizierungsdialoge, fรผgen gespeicherte Anmeldeinformationen ein und beheben Fehler selbst, wenn sich das Verhalten von Popups รคndert. Dadurch wird die Abhรคngigkeit von fehleranfรคlligen AutoIt-Skripten in verschiedenen Browsern reduziert.

KI-Tools rotieren Proxys intelligent, erkennen blockierte Anfragen und passen Wartezeiten bei Authentifizierungsaufforderungen an. Diese Automatisierung verbessert die Teststabilitรคt fรผr Websites hinter Unternehmens- oder Inhaltsfilter-Proxys.

Ja. Selenium Mit Version 4 wurde die Unterstรผtzung fรผr das Chrome DevTools-Protokoll hinzugefรผgt, wodurch HTTP-Anmeldeinformationen programmatisch festgelegt und die Basisauthentifizierung gehandhabt werden kรถnnen, wodurch AutoIt in vielen Proxy-Szenarien vermieden wird.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: