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
Quellcode:
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("http://demo.guru99.com/test/basic_auth.php"); //Passing the AutoIt Script to Selenium Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe"); } }
Code-Erklärung:
- 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
Codeausgabe:
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("http://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(); } }
Codeausgabe
Proxy-Authentifizierung erfolgreich durchgeführt.
Code-Erklärung:
- 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