So handhaben Sie die Proxy-Authentifizierung 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
Auto IT ist ein Drittanbietertool, das fรผr die Windows-Desktopautomatisierung verwendet wird. Selenium verarbeitet nur webbasierte Popups und Fenster, die Verarbeitung von Betriebssystemsteuerelementen ist nicht mรถglich mit Selenium.
Dies erfordert die Verwendung externer Tools von Drittanbietern wie Auto IT zur Integration Selenium. Aus diesem Grund wird Auto IT am hรคufigsten fรผr die Verarbeitung von Datei-Uploads und Datei-Downloads auf Websites verwendet.
Um AutoIT nutzen zu kรถnnen, mรผssen Sie die AutoIT-Software herunterladen und auf unseren lokalen Computern installieren.
Das Herunterladen einer Installation von AutoIT wird im Abschnitt behandelt 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 Eclipse, fรผgen Sie die Auto IT-Datei hinzu Selenium Skript erstellen und ausfรผhren
Unten finden Sie das AutoIT-Skript fรผr die HTTP-Proxy-Authentifizierung
Send("guru99{ENTER}")
Send("guru99{ENTER}")
Sie mรผssen die Auto-IT-Datei zur Ausfรผhrung weitergeben 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 Objekt des Webtreibers und รผbergeben die Website-URL mithilfe der get-Methode
- Schlieรlich รผbergeben Sie Benutzername und Passwort mithilfe einer AutoIT-Skriptdatei an das HTTP-Proxy-Authentifizierungs-Popup
Code Ausgang:

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
- Anschlieรend รถffnen Sie die URL der erforderlichen Website, indem Sie die URL als Parameter an die Methode โdriver.get()โ รผbergeben
- Sobald die URL geรถffnet ist, wechseln Sie zur Benutzernamenwarnung und senden den Benutzernamen โ guru99. Anschlieรend klicken Sie in der Warnung 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โ.
Zusammenfassung
- Ein Proxy fungiert als Vermittler zwischen Clients, die Anfragen senden, und Servern, die antworten. Der grundlegende Zweck eines Proxys besteht darin, die Privatsphรคre zu wahren und Verkapselung zwischen mehreren interaktiven Systemen.
- HTTP-Proxy-Authentifizierung mit Selenium in Chrome kann mit den folgenden Ansรคtzen behandelt werden
- รbergabe von Benutzername und Passwort in der Website-URL
- Verwendung des AutoIT-Tools
- Verwenden von Warnungen
- Von den oben genannten drei Ansรคtzen ist die Verwendung von Warnungen die effektivste Methode zur Handhabung der HTTP-Proxy-Authentifizierung Selenium Webdriver
