Sådan håndteres proxygodkendelse i Selenium Webdriver
⚡ Smart opsummering
Proxy-godkendelse i Selenium WebDriver håndterer popup-vinduet med legitimationsoplysninger, der vises, når en browser opretter forbindelse via en sikret proxyserver. Fordi Selenium kan ikke betjene native dialoger direkte, bruger to tilgange AutoIt-værktøjet og indbyggede alarmer.
Hvad er en proxy?
En proxy fungerer som en mellemmand mellem klienter, der sender anmodninger, og server, der svarer. Den primære brug af en proxy er at opretholde privatlivets fred og indkapsling mellem flere interaktive systemer.
En proxy kan også tilføje endnu et sikkerhedslag på nettet ved at fungere som en firewall mellem klient og webservere. Dette bruges især, når de websteder, som kunder bruger, skal mærkes som tilladte eller blokerede baseret på webstedets indhold.
Denne proces er kendt som 'indholdsfiltrering' og er mest almindeligt brugt i uddannelsesinstitutioner, virksomhedskontorer osv. Indholdsfiltrering kan nemt udføres ved hjælp af en proxy. Med hensyn til internettet kan en proxy implementeres som en separat server, der står mellem klientmaskiner og faktiske web- eller databaseservere, der svarer.
Forskellen mellem SOCKS og HTTP Proxy
| SOKKER | HTTP Proxy |
|---|---|
| SOCKS står for sikrede stikkontakter. Det bruges generelt som en firewall mellem klienten og serveren | HTTP Proxy kan også bruges som en firewall mellem klienten og serveren, men kan kun bruges til HTTP-anmodninger |
| SOCKS fortolker ikke de data, der udveksles | HTTP Proxy fortolker de data, der udveksles mellem klienten og serveren |
| Langsommere med hensyn til ydeevne | Bedre ydeevne sammenlignet med SOCKS |
Sådan håndteres proxy i Selenium Webdriver i Chrome
HTTP Proxy-godkendelse med Selenium i Chrome kan håndteres ved hjælp af følgende fremgangsmåder
- Brug af AutoIt-værktøjet
- Brug af alarmer
Brug af AutoIt-værktøjet
AutoIt er et tredjepartsværktøj, der bruges til automatisering af Windows-skriveborde. Selenium håndterer kun webbaserede popup-vinduer og vinduer, håndtering af styresystemkontroller er ikke muligt at bruge Selenium.
Dette kræver integration af eksterne tredjepartsværktøjer, såsom AutoIt. SeleniumTil det formål bruges AutoIt oftest til at håndtere filuploads og fildownloads på websteder.
For at bruge AutoIt skal du downloade og installere AutoIt-softwaren på vores lokale maskiner.
Download og installation af AutoIt er dækket i artikel.
Åbn Programmer – Autoit-værktøj – SciTE Script Editor og tilføj nedenstående AutoIt-script i Autoit-editoren og gem det som 'ProxyAuthentication.au3' i dit system
Kompiler filen og konverter den som 'ProxyAuthentication.exe.'
In Eclipse, tilføj AutoIt-filen til Selenium Script og kør
Nedenfor er AutoIt-scriptet til HTTP-proxygodkendelse
Send("guru99{ENTER}") Send("guru99{ENTER}")
Du skal sende AutoIt-filen til udførelse på Selenium webdriver ved hjælp af nedenstående kode
Kilde 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 Forklaring:
- I det første trin initialiserer du en forekomst af Chrome-driver ved at indstille systemegenskaben til at pege på filen chromedriver.exe
- I andet trin initialiserer du derefter et objekt af webdriveren og sender webstedet URL ved hjælp af get-metoden
- Endelig sender du brugernavn og adgangskode til HTTP Proxy-godkendelsespopup ved hjælp af en AutoIt-scriptfil.
Code Output:

Brug af alarmer
Advarsler er enkle, indbyggede funktioner leveret af Selenium web driver. Du kan håndtere proxy-godkendelses-popups vha Selenium webdriver ved at skifte til HTTP-proxy-godkendelsesadvarslen og videregive brugernavnet og adgangskoden direkte til advarslen. Ved hjælp af send nøgler metode.
Eksempel:
Testscenarie:
Håndter HTTP Proxy-godkendelses-popup'en på webstedet: https://demo.guru99.com/test/basic_auth.php ved at bruge Alerts i Selenium web driver.
Kildekode eksempel:
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 Produktion
Proxygodkendelse udført.
Code Forklaring:
- I første omgang instansierer du en forekomst af Chrome-driver ved at indstille webdriver-egenskaben til at pege på placeringen af chromedriver.exe-filen
- Så åbner du URL af det krævede websted ved at videregive URL som en parameter til driver.get() metoden
- Når URL åbnes, skifter du til brugernavnsalarmen og sender brugernavnet – guru99. Du klikker derefter på OK-knappen i alarmen ved hjælp af alert.accept-metoden.
- Derefter skifter du til adgangskodealarmen og sender adgangskoden - guru99. Du klikker derefter på OK-knappen på advarslen ved hjælp af alert.accept-metoden

