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:

Brugernavn Alert Håndtering ved hjælp af AutoIT
Brugernavn Alert Håndtering ved hjælp af AutoIT
Håndtering af adgangskodealarm ved hjælp af AutoIT

Håndtering af adgangskodealarm ved hjælp af AutoIT
Proxy-godkendelsessuccesskærm

Proxy-godkendelsessuccesskærm

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