Hvordan håndtere proxy-autentisering i Selenium Webdriver
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
- Bruker AutoIT-verktøyet
- Bruke varsler
Bruker AutoIT-verktøyet
Auto IT er et tredjepartsverktøy som brukes til Windows-skrivebordsautomatisering. Siden 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 Auto IT for å integreres med Selenium. For det er Auto IT oftest brukt til å håndtere filopplastinger og filnedlastinger på nettsteder.
For å bruke AutoIT, må du laste ned og installere AutoIT-programvare 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 Auto IT-filen til Selenium Skrip og kjør
Nedenfor er AutoIT-skriptet for HTTP Proxy-autentisering
Send("guru99{ENTER}") Send("guru99{ENTER}")
Du må sende Auto IT-filen for utførelse videre Selenium webdriver ved å bruke koden nedenfor
Kildekode:
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"); } }
Kodeforklaring:
- 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 med nettdriver og sender nettadressen ved hjelp av get-metoden
- Til slutt sender du brukernavn og passord til HTTP Proxy-autentiseringspopup ved hjelp av en AutoIT-skriptfil
Kodeutgang:
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(); } }
Kodeutgang
Proxy-autentisering utført.
Kodeforklaring:
- Til å begynne med instansierer du en forekomst av Chrome-driver ved å sette webdriver-egenskapen til å peke på plasseringen til chromedriver.exe-filen
- Deretter åpner du URL-en til det nødvendige nettstedet ved å sende URL-en som en parameter til driver.get()-metoden
- Når URL er åpnet, bytter du til brukernavnvarselet og sender brukernavnet – guru99. Du klikker deretter 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
Sammendrag
- En proxy fungerer som en mellommann mellom klienter som sender forespørsler og server som svarer. Den grunnleggende bruken av en proxy er å opprettholde personvernet og innkapsling mellom flere interaktive systemer.
- HTTP Proxy-autentisering med Selenium i Chrome kan håndteres ved hjelp av følgende tilnærminger
- Sender brukernavn og passord i nettsidens URL
- Bruker AutoIT-verktøyet
- Bruke varsler
- Av de tre ovennevnte tilnærmingene er bruk av varsler den mest effektive måten å håndtere HTTP Proxy-autentisering på Selenium webdriver