Kuidas käsitleda puhverserveri autentimist Selenium Veebidraiver

⚡ Nutikas kokkuvõte

Puhverserveri autentimine Selenium WebDriver haldab mandaadi hüpikakent, mis kuvatakse siis, kui brauser loob ühenduse turvalise puhverserveri kaudu. Sest Selenium ei saa natiivseid dialooge otse hallata, kaks lähenemisviisi kasutavad AutoIt tööriista ja sisseehitatud märguandeid.

  • 🛡️ Vahendaja roll: Proksi on vahendaja, mis lisab privaatsust, turvalisust ja sisu filtreerimist.
  • 🔀 SOCKS vs HTTP: SOCKS ei tõlgenda andmeid; HTTP-proksi loeb ainult HTTP-päringuid.
  • 🪟 Natiivsed hüpikaknad: Selenium ei suuda operatsioonisüsteemi dialoogiboksidega hakkama saada, seega on vaja välist abi.
  • 🛠️ AutoIt meetod: Kompileeritud AutoIt-skript saadab hüpikaknasse kasutajanime ja parooli.
  • ???? Teavituste meetod: Lülitu teatisele ja saada volikirjad käsuga sendKeys ning seejärel nõustu.

Halda puhverserveri autentimist Selenium Veebidraiver

Mis on puhverserver?

Puhverserver toimib vahendajana päringuid saatvate klientide ja serveri vastuse vahel. Puhverserveri peamine kasutusala on privaatsuse ja mitme interaktiivse süsteemi vahelise kapseldamise säilitamine.

Puhverserver võib lisada veebile ka teise turvakihi, toimides kliendi ja veebiserverite vahelise tulemüürina. Seda kasutatakse eriti siis, kui klientide kasutatavad veebisaidid peavad olema veebisaidi sisu alusel lubatud või blokeeritud.

Seda protsessi nimetatakse "sisu filtreerimiseks" ja seda kasutatakse kõige sagedamini haridusasutustes, ettevõtete kontorites jne. Sisu filtreerimist saab hõlpsasti teostada puhverserveri abil. Internetis saab puhverserverit rakendada eraldi serverina, mis asub klientmasinate ja tegelike reageerivate veebi- või andmebaasiserverite vahel.

Erinevus SOCKSi ja HTTP-puhverserveri vahel

Sokid HTTP-puhverserver
SOCKS tähistab turvatud pistikupesasid. Tavaliselt kasutatakse seda tulemüürina kliendi ja serveri vahel HTTP puhverserverit saab kasutada ka tulemüürina kliendi ja serveri vahel, kuid seda saab kasutada ainult HTTP päringute jaoks
SOCKS ei tõlgenda vahetatavaid andmeid HTTP-puhverserver tõlgendab kliendi ja serveri vahel vahetatavaid andmeid
Jõudluse poolest aeglasem Parem jõudlus võrreldes SOCKSiga

Kuidas puhverserverit sisse lülitada Selenium Veebidraiver Chrome'is

HTTP-puhverserveri autentimine Selenium Chrome'is saab hallata järgmiste lähenemisviiside abil

  • AutoIt tööriista kasutamine
  • Märguannete kasutamine

AutoIt tööriista kasutamine

AutoIt on kolmanda osapoole tööriist, mida kasutatakse Windowsi töölaua automatiseerimiseks. Alates Selenium käsitleb ainult veebipõhiseid hüpikaknaid ja aknaid, operatsioonisüsteemi juhtelementide haldamine pole võimalik Selenium.

See nõuab väliste kolmandate osapoolte tööriistade, näiteks AutoIti, integreerimist SeleniumSelleks kasutatakse AutoIti kõige sagedamini failide üleslaadimise ja allalaadimise haldamiseks veebisaitidel.

AutoIti kasutamiseks peate alla laadima ja installima AutoIti tarkvara meie kohalikesse arvutitesse.

AutoIti installi allalaadimine on käsitletud jaotises artikkel.

Avage programmid – tööriist Autoit – SciTE skriptiredaktor ja lisage allpool mainitud AutoIt skript Autoit redaktorisse ning salvestage see oma süsteemi nimega ProxyAuthentication.au3

Kompileerige fail ja teisendage see kui ProxyAuthentication.exe.

In Eclipse, lisa AutoIt-fail Selenium Skript ja käivita

Allpool on HTTP-puhverserveri autentimise AutoIt skript

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

Peate edastama AutoIt-faili käivitamiseks Selenium veebidraiver, kasutades allolevat koodi

allikas 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 Selgitus:

  • Esimeses etapis lähtestate Chrome'i draiveri eksemplari, määrates süsteemiatribuudiks faili chromedriver.exe
  • Teises etapis initsialiseerite veebidraiveri objekti ja edastate veebisaidi URL kasutades get-meetodit
  • Lõpuks edastate kasutajanime ja parooli HTTP-proksi autentimisaknale AutoIt-skriptifaili abil

Code Väljund:

Kasutajanime märguannete haldamine AutoIt abil
Kasutajanime märguannete haldamine AutoIt abil
Paroolihoiatuse haldamine AutoIt abil

Paroolihoiatuse haldamine AutoIt abil
Puhverserveri autentimise õnnestumise ekraan

Puhverserveri autentimise õnnestumise ekraan

Märguannete kasutamine

Märguanded on lihtsad, sisseehitatud funktsioonid Selenium veebidraiver. Puhverserveri autentimise hüpikaknaid saate hallata kasutades Selenium veebidraiver, lülitades üle HTTP-puhverserveri autentimise hoiatusele ja edastades kasutajanime ja parooli otse hoiatusse. Võtmete saatmise meetodi abil.

Näide:

Testi stsenaarium:

Käsitsege veebisaidil HTTP-puhverserveri autentimise hüpikakent: https://demo.guru99.com/test/basic_auth.php kasutades märguandeid Selenium veebidraiver.

Lähtekoodi näide:

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 Väljund

Puhverserveri autentimine õnnestus.

Code Selgitus:

  • Esialgu loote Chrome'i draiveri eksemplari, määrates veebidraiveri atribuudi näitama faili chromedriver.exe asukohta
  • Siis avate te URL vajaliku veebisaidi, edastades URL parameetrina meetodile driver.get()
  • Kunagi URL avatakse, lülitute kasutajanime märguandele ja saadate kasutajanime – guru99. Seejärel klõpsate märguandel nuppu OK, kasutades meetodit alert.accept
  • Seejärel lülitate paroolihoiatuse ja saadate parooli – guru99. Seejärel klõpsate hoiatusel nuppu OK, kasutades meetodit alert.accept

KKK

Saate mandaati manustada kujul https://user:pass@site.com, aga tänapäeva Chrome ja Firefox Blokeeri see turvalisuse huvides. Teavitused või brauserilaiendused on nüüd puhverserveri autentimiseks usaldusväärsemad.

AutoIt automatiseerib Windows töölaua juhtnupud, mis Selenium ei pääse ligi, näiteks natiivsed autentimishüpikaknad ja failide üleslaadimise dialoogid. Kompileerite AutoIt-skripti käivitatavaks failiks ja kutsute selle välja Selenium kood.

Puhverserver suunab liikluse ümber konkreetsete rakenduste või brauserite jaoks, peamiselt IP-aadresside peitmise või sisu filtreerimise abil. VPN krüpteerib kogu seadme liikluse kogu süsteemis, pakkudes tugevamat privaatsust kui tavaline puhverserver.

Jah. Tehisintellektil põhinevad testimistööriistad tuvastavad autentimisdialoogid, sisestavad salvestatud identimisandmed ja parandavad end hüpikakna käitumise muutumisel, vähendades seeläbi sõltuvust habrastest AutoIt-skriptidest brauserites.

Tehisintellekti tööriistad vahetavad puhverservereid intelligentselt, tuvastavad blokeeritud päringuid ja kohandavad ooteaegu autentimisviipade ilmumisel. See automatiseerimine parandab testide stabiilsust saitidel, mis asuvad ettevõtte või sisu filtreerivate puhverserverite taga.

Jah. Selenium 4 lisas Chrome DevTools protokolli toe, mis võimaldab teil HTTP-mandaate programmiliselt määrata ja põhiautentimist hallata, vältides paljude puhverserveri stsenaariumide puhul automaatset autentimist (AutoIt).

Võta see postitus kokku järgmiselt: