Hvordan håndtere proxy-autentisering i Selenium Webdriver
⚡ Smart oppsummering
Proxy-autentisering i Selenium WebDriver håndterer popup-vinduet for påloggingsinformasjon som vises når en nettleser kobler seg til via en sikret proxy-server. Fordi Selenium kan ikke betjene innebygde dialogbokser direkte, to tilnærminger bruker AutoIt-verktøyet og innebygde varsler.
Hva er en fullmakt?
En proxy fungerer som en mellommann mellom klienter som sender forespørsler og server som svarer. Den primære bruken av en proxy er å opprettholde personvern og innkapsling mellom flere interaktive systemer.
En proxy kan også legge til et nytt lag med sikkerhet på nettet ved å fungere som en brannmur mellom klient og webservere. Dette brukes spesielt når nettstedene som klienter bruker må merkes som tillatt eller blokkert basert på innholdet på nettstedet.
Denne prosessen er kjent som "Innholdsfiltrering" og er mest brukt i utdanningsinstitusjoner, bedriftskontorer osv. Innholdsfiltrering kan enkelt utføres ved hjelp av en proxy. Når det gjelder Internett, kan en proxy implementeres som en separat server som står mellom klientmaskiner og faktiske web- eller databaseservere som svarer.
Forskjellen mellom SOCKS og HTTP Proxy
| SOKKER | HTTP-proxy |
|---|---|
| SOCKS står for sikrede stikkontakter. Den brukes vanligvis som en brannmur mellom klienten og serveren | HTTP Proxy kan også brukes som en brannmur mellom klienten og serveren, men kan kun brukes for HTTP-forespørsler |
| SOCKS tolker ikke dataene som utveksles | HTTP Proxy tolker dataene som utveksles mellom klienten og serveren |
| Tregere når det gjelder ytelse | Bedre ytelse sammenlignet med SOCKS |
Hvordan håndtere proxy i Selenium Webdriver i Chrome
HTTP Proxy-autentisering med Selenium i Chrome kan håndteres ved hjelp av følgende tilnærminger
- Bruke AutoIt-verktøyet
- Bruke varsler
Bruke AutoIt-verktøyet
AutoIt er et tredjepartsverktøy som brukes til automatisering av Windows-skrivebord. Selenium håndterer bare nettbaserte popup-vinduer og vinduer, håndtering av operativsystemkontroller er ikke mulig å bruke Selenium.
Dette krever bruk av eksterne tredjepartsverktøy som AutoIt som skal integreres med SeleniumTil det formålet brukes AutoIt oftest til å håndtere filopplastinger og filnedlastinger på nettsteder.
For å bruke AutoIt må du laste ned og installere AutoIt-programvaren på våre lokale maskiner.
Last ned en installasjon av AutoIt er dekket i Artikkel.
Åpne Programmer – Autoit-verktøy – SciTE Script Editor og legg til AutoIt-skriptet nedenfor i Autoit-editoren og lagre det som 'ProxyAuthentication.au3' i systemet ditt
Kompiler filen og konverter den som 'ProxyAuthentication.exe.'
In Eclipse, legg til AutoIt-filen i Selenium Skrip og kjør
Nedenfor er AutoIt-skriptet for HTTP-proxy-autentisering
Send("guru99{ENTER}") Send("guru99{ENTER}")
Du må sende AutoIt-filen for utførelse på Selenium webdriver ved å bruke koden nedenfor
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 trinnet initialiserer du en forekomst av Chrome-driveren ved å sette systemegenskapen til å peke på chromedriver.exe-filen
- I det andre trinnet initialiserer du deretter et objekt av webdriveren og sender nettstedet URL bruker get-metoden
- Til slutt sender du brukernavn og passord til HTTP Proxy-autentiseringspopupen ved hjelp av en AutoIt-skriptfil
Code Utgang:

Bruke varsler
Varsler er enkle, innebygde funksjoner levert av Selenium web-driver. Du kan håndtere popup-vinduer for proxy-autentisering ved å bruke Selenium webdriver ved å bytte til HTTP-proxy-autentiseringsvarslet og sende brukernavnet og passordet direkte til varselet. Ved hjelp av send nøkler metoden.
Eksempel:
Testscenario:
Håndter popup-vinduet for HTTP Proxy-autentisering på nettstedet: https://demo.guru99.com/test/basic_auth.php ved å bruke varsler i Selenium web-driver.
Eksempel på kildekode:
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 Produksjon
Proxy-autentisering utført.
Code Forklaring:
- Til å begynne med instansierer du en forekomst av Chrome-driver ved å sette webdriver-egenskapen til å peke på plasseringen til chromedriver.exe-filen
- Så åpner du URL av nødvendig nettsted ved å sende URL som en parameter til driver.get()-metoden
- Gang URL åpnes, bytter du til brukernavnvarselet og sender brukernavnet – guru99. Deretter klikker du på OK-knappen på varselet ved å bruke alert.accept-metoden.
- Deretter bytter du til passordvarselet og sender passordet – guru99. Du klikker deretter på OK-knappen på varselet ved å bruke alert.accept-metoden

