Sådan håndteres proxygodkendelse i Selenium Webdriver
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
Auto IT er et tredjepartsværktøj, der bruges til Windows desktop automation. Siden Selenium håndterer kun webbaserede popup-vinduer og vinduer, håndtering af styresystemkontroller er ikke muligt at bruge Selenium.
Dette kræver brug af eksterne tredjepartsværktøjer såsom Auto IT, der skal integreres med Selenium. Til det bruges Auto IT oftest til håndtering af fil-uploads og fildownloads på websteder.
For at bruge AutoIT skal du downloade og installere AutoIT-software på vores lokale maskiner.
Download en installation af AutoIT er dækket af 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 Auto IT-filen til Selenium Script og kør
Nedenfor er AutoIT-scriptet til HTTP Proxy-godkendelse
Send("guru99{ENTER}") Send("guru99{ENTER}")
Du skal videregive Auto IT-filen til eksekvering Selenium webdriver ved hjælp af nedenstående kode
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("http://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 trin initialiserer du en forekomst af Chrome-driver ved at indstille systemegenskaben til at pege på filen chromedriver.exe
- I det andet trin initialiserer du derefter et objekt af webdriver og sender webstedets URL ved hjælp af get-metoden
- Endelig sender du brugernavn og adgangskode til HTTP Proxy-godkendelses popup ved hjælp af en AutoIT-scriptfil
Kodeoutput:
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("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(); } }
Kode output
Proxygodkendelse udført.
Kodeforklaring:
- 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
- Derefter åbner du URL'en på det påkrævede websted ved at overføre URL'en som en parameter til metoden driver.get().
- Når URL er åbnet, skifter du til brugernavnalarmen og sender brugernavnet - guru99. Du klikker derefter på OK-knappen på advarslen 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
Resumé
- En proxy fungerer som en mellemmand mellem klienter, der sender anmodninger, og server, der svarer. Den grundlæggende brug af en proxy er at bevare privatlivets fred og indkapsling mellem flere interaktive systemer.
- HTTP Proxy-godkendelse med Selenium i Chrome kan håndteres ved hjælp af følgende fremgangsmåder
- Sender brugernavn og adgangskode i webstedets URL
- Brug af AutoIT-værktøjet
- Brug af alarmer
- Af de ovennævnte tre tilgange er brug af advarsler den mest effektive måde at håndtere HTTP Proxy-godkendelse på Selenium webdriver