Kako rukovati proxy autentifikacijom u Selenium Webdriver

⚡ Pametni sažetak

Autentifikacija proxyja u Selenium WebDriver obrađuje skočni prozor s vjerodajnicama koji se pojavljuje kada se preglednik poveže putem osiguranog proxy poslužitelja. Jer Selenium ne može izravno upravljati izvornim dijalozima, dva pristupa koriste alat AutoIt i ugrađena upozorenja.

  • 🛡️ Uloga proxyja: Proxy je posrednik koji dodaje privatnost, sigurnost i filtriranje sadržaja.
  • 🔀 SOCKS u odnosu na HTTP: SOCKS ne interpretira podatke; HTTP proxy čita samo HTTP zahtjeve.
  • 🪟 Izvorni skočni prozori: Selenium ne može rukovati dijalozima operacijskog sustava, pa je potrebna vanjska pomoć.
  • 🛠️ Metoda AutoIt: Kompilirana AutoIt skripta šalje korisničko ime i lozinku skočnom prozoru.
  • ???? Metoda upozorenja: Prebacite se na upozorenje i pošaljite vjerodajnice pomoću sendKeys, a zatim prihvatite.

Obradi proxy autentifikaciju u Selenium webdriver

Što je proxy?

Proxy djeluje kao posrednik između klijenata koji šalju zahtjeve i poslužitelja koji odgovara. Primarna upotreba proxyja je održavanje privatnosti i enkapsulacije između više interaktivnih sustava.

Proxy također može dodati još jedan sloj sigurnosti na webu djelujući kao vatrozid između klijenta i web poslužitelja. Ovo se posebno koristi kada web stranice koje klijenti koriste moraju biti označene kao dopuštene ili blokirane na temelju sadržaja web stranice.

Ovaj proces je poznat kao 'Filtriranje sadržaja' i najčešće se koristi u obrazovnim ustanovama, korporativnim uredima itd. Filtriranje sadržaja može se lako izvršiti uz pomoć proxyja. Što se tiče interneta, proxy se može implementirati kao zaseban poslužitelj koji stoji između klijentskih strojeva i stvarnih web poslužitelja ili poslužitelja baze podataka koji odgovaraju.

Razlika između SOCKS-a i HTTP proxyja

čarape HTTP proxy
SOCKS označava osigurane utičnice. Obično se koristi kao vatrozid između klijenta i poslužitelja HTTP proxy se također može koristiti kao vatrozid između klijenta i poslužitelja, ali se može koristiti samo za HTTP zahtjeve
SOCKS ne tumači podatke koji se razmjenjuju HTTP proxy tumači podatke koji se razmjenjuju između klijenta i poslužitelja
Sporije u pogledu performansi Bolji učinak u usporedbi s SOCKS

Kako rukovati proxyjem Selenium Webdriver u Chromeu

HTTP proxy provjera autentičnosti s Selenium u Chromeu može se rukovati pomoću sljedećih pristupa

  • Korištenje alata AutoIt
  • Korištenje upozorenja

Korištenje alata AutoIt

AutoIt je alat treće strane koji se koristi za automatizaciju radne površine sustava Windows. Od Selenium rukuje samo web-baziranim skočnim prozorima i prozorima, rukovanje kontrolama operativnog sustava nije moguće koristiti Selenium.

To zahtijeva korištenje vanjskih alata trećih strana kao što je AutoIt za integraciju s SeleniumZbog toga se AutoIt najčešće koristi za rukovanje prijenosom i preuzimanjem datoteka na web stranicama.

Za korištenje AutoIta, potrebno je preuzeti i instalirati AutoIt softver na naša lokalna računala.

Preuzimanje instalacije AutoIta opisano je u članak.

Otvorite Programs – Autoit tool – SciTE Script Editor i dodajte dolje navedenu AutoIt skriptu u Autoit editor i spremite je kao 'ProxyAuthentication.au3' u svoj sustav

Prevedite datoteku i pretvorite je u "ProxyAuthentication.exe".

In Eclipse, dodajte AutoIt datoteku u Selenium Skriptirajte i pokrenite

Ispod je AutoIt skripta za HTTP proxy autentifikaciju

Send("guru99{ENTER}")
Send("guru99{ENTER}")

Morate proslijediti AutoIt datoteku za izvršavanje na Selenium webdriver pomoću donjeg koda

izvor 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 Objašnjenje:

  • U prvom koraku inicijalizirate instancu Chrome upravljačkog programa postavljanjem svojstva sustava da usmjerava na datoteku chromedriver.exe
  • U drugom koraku inicijalizirate objekt web upravljačkog programa i prosljeđujete web stranicu URL korištenjem metode get
  • Konačno, prosljeđujete korisničko ime i lozinku skočnom prozoru za autentifikaciju HTTP proxyja pomoću AutoIt skriptne datoteke

Code Izlaz:

Obrada upozorenja o korisničkom imenu pomoću AutoIt-a
Obrada upozorenja o korisničkom imenu pomoću AutoIt-a
Upravljanje zaštitom lozinke pomoću AutoIta

Upravljanje zaštitom lozinke pomoću AutoIta
Zaslon uspješne provjere autentičnosti proxyja

Zaslon uspješne provjere autentičnosti proxyja

Korištenje upozorenja

Upozorenja su jednostavna, ugrađena značajka koju pruža Selenium web vozač. Možete upravljati proxy proxy skočnim prozorima za provjeru autentičnosti pomoću Selenium web upravljački program prebacivanjem na upozorenje za provjeru autentičnosti HTTP proxyja i prosljeđivanjem korisničkog imena i lozinke izravno u upozorenje. Uz pomoć metode slanja ključeva.

Primjer:

Testni scenarij:

Rukovanje skočnim prozorom za autentifikaciju HTTP proxyja na web mjestu: https://demo.guru99.com/test/basic_auth.php pomoću upozorenja u Selenium web vozač.

Primjer izvornog koda:

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 Izlaz

Proxy autentifikacija je uspješno obavljena.

Code Objašnjenje:

  • U početku instancirate instancu Chrome upravljačkog programa postavljanjem svojstva webdriver da pokazuje lokaciju datoteke chromedriver.exe
  • Zatim, otvarate URL potrebne web stranice prosljeđivanjem URL kao parametar metode driver.get()
  • Jednom URL se otvori, prelazite na upozorenje o korisničkom imenu i šaljete korisničko ime – guru99. Zatim kliknete gumb U redu na upozorenju koristeći metodu alert.accept
  • Zatim se prebacujete na upozorenje o lozinci i šaljete lozinku – guru99. Zatim kliknete gumb U redu na upozorenju pomoću metode alert.accept

Pitanja i odgovori

Možete ugraditi vjerodajnice kao https://user:pass@site.com, ali moderni Chrome i Firefox blokirajte ovo iz sigurnosnih razloga. Obavijesti ili proširenja preglednika sada su pouzdanija za proxy autentifikaciju.

AutoIt automatizira Windows kontrole na radnoj površini koje Selenium ne mogu dosegnuti, kao što su izvorni skočni prozori za autentifikaciju i dijalozi za prijenos datoteka. Kompajlirate AutoIt skriptu u izvršnu datoteku i pozivate je iz Selenium kodirati.

Proxy preusmjerava promet za određene aplikacije ili preglednike, uglavnom skrivajući IP adrese ili filtrirajući sadržaj. VPN šifrira sav promet uređaja na razini cijelog sustava, pružajući jaču privatnost od standardnog proxyja.

Da. Alati za testiranje temeljeni na umjetnoj inteligenciji otkrivaju dijaloge za autentifikaciju, ubrizgavaju pohranjene vjerodajnice i samostalno se oporavljaju kada se ponašanje skočnih prozora promijeni, smanjujući ovisnost o krhkim AutoIt skriptama u različitim preglednicima.

Alati umjetne inteligencije inteligentno rotiraju proxyje, otkrivaju blokirane zahtjeve i prilagođavaju čekanja kada se pojave upiti za autentifikaciju. Ova automatizacija poboljšava stabilnost testiranja za web-lokacije iza korporativnih ili proxyja koji filtriraju sadržaj.

Da. Selenium 4 dodana je podrška za Chrome DevTools Protocol, omogućujući vam programsko postavljanje HTTP vjerodajnica i rukovanje osnovnom autentifikacijom, izbjegavajući AutoIt za mnoge proxy scenarije.

Sažmite ovu objavu uz: