Hur man hanterar proxyautentisering i Selenium Webdriver
⚡ Smart sammanfattning
Proxy-autentisering i Selenium WebDriver hanterar popup-fönstret för autentiseringsuppgifter som visas när en webbläsare ansluter via en säker proxyserver. Eftersom Selenium inte kan hantera inbyggda dialogrutor direkt, två metoder använder AutoIt-verktyget och inbyggda varningar.
Vad är en proxy?
En proxy fungerar som en mellanhand mellan klienter som skickar förfrågningar och serverns svar. Den primära användningen av en proxy är att upprätthålla integritet och inkapsling mellan flera interaktiva system.
En proxy kan också lägga till ytterligare ett säkerhetslager på webben genom att fungera som en brandvägg mellan klient och webbservrar. Detta används särskilt när de webbplatser som kunder använder måste märkas som tillåtna eller blockerade baserat på webbplatsens innehåll.
Denna process är känd som "Innehållsfiltrering" och används oftast i utbildningsinstitutioner, företagskontor etc. Innehållsfiltrering kan enkelt utföras med hjälp av en proxy. I termer av Internet kan en proxy implementeras som en separat server som står mellan klientmaskiner och faktiska webb- eller databasservrar som svarar.
Skillnaden mellan SOCKS och HTTP Proxy
| SOCKS | Http proxy |
|---|---|
| SOCKS står för säkrade uttag. Den används vanligtvis som en brandvägg mellan klienten och servern | HTTP Proxy kan också användas som en brandvägg mellan klienten och servern men kan endast användas för HTTP-förfrågningar |
| SOCKS tolkar inte data som utbyts | HTTP Proxy tolkar data som utbyts mellan klienten och servern |
| Långsammare prestandamässigt | Bättre prestanda jämfört med SOCKS |
Hur man hanterar proxy i Selenium Webdriver i Chrome
HTTP Proxy-autentisering med Selenium i Chrome kan hanteras med följande tillvägagångssätt
- Använda AutoIt-verktyget
- Använda Alerts
Använda AutoIt-verktyget
AutoIt är ett tredjepartsverktyg som används för automatisering av Windows-skrivbord. Selenium hanterar endast webbaserade popup-fönster och fönster, hantering av operativsystemkontroller är inte möjligt att använda Selenium.
Detta kräver användning av externa tredjepartsverktyg som AutoIt för att integreras med SeleniumFör det ändamålet används AutoIt oftast för att hantera filuppladdningar och filnedladdningar på webbplatser.
För att använda AutoIt måste du ladda ner och installera AutoIt-programvaran på våra lokala maskiner.
Ladda ner en installation av AutoIt beskrivs i Artikeln.
Öppna Program – Autoit-verktyget – SciTE Script Editor och lägg till nedan nämnda AutoIt-skript i Autoit-redigeraren och spara det som 'ProxyAuthentication.au3' i ditt system
Kompilera filen och konvertera den som 'ProxyAuthentication.exe.'
In Eclipse, lägg till AutoIt-filen till Selenium Skripta och köra
Nedan finns AutoIt-skriptet för HTTP-proxyautentisering
Send("guru99{ENTER}") Send("guru99{ENTER}")
Du måste skicka AutoIt-filen för körning på Selenium webbdrivrutin med koden nedan
Källa 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 Förklaring:
- I det första steget initierar du en instans av Chrome-drivrutinen genom att ställa in systemegenskapen för att peka på filen chromedriver.exe
- I det andra steget initierar du sedan ett objekt av webbdrivrutinen och skickar webbplatsen URL använder get-metoden
- Slutligen skickar du användarnamn och lösenord till HTTP-proxyautentiseringspopupen med hjälp av en AutoIt-skriptfil
Code Produktion:

Använda Alerts
Varningar är enkla, inbyggda funktion som tillhandahålls av Selenium webbdrivrutin. Du kan hantera popup-fönster för proxyautentisering med Selenium webbdrivrutin genom att byta till HTTP-proxyautentiseringsvarningen och skicka användarnamnet och lösenordet direkt till varningen. Med hjälp av metoden skicka nycklar.
Exempelvis:
Testscenario:
Hantera popup-fönstret för HTTP Proxy-autentisering på webbplatsen: https://demo.guru99.com/test/basic_auth.php använder Alerts i Selenium webbdrivrutin.
Exempel på källkod:
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
Proxyautentisering klar.
Code Förklaring:
- Inledningsvis instansierar du en instans av Chrome-drivrutinen genom att ställa in webdriver-egenskapen för att peka på platsen för filen chromedriver.exe
- Sedan öppnar du URL av obligatorisk webbplats genom att skicka URL som en parameter till driver.get()-metoden
- När URL öppnas, växlar du till användarnamnsaviseringen och skickar användarnamnet – guru99. Du klickar sedan på OK-knappen i aviseringen med hjälp av metoden alert.accept.
- Sedan byter du till lösenordsvarningen och skickar lösenordet – guru99. Du klickar sedan på OK-knappen på varningen med metoden alert.accept

