Kuinka käsitellä välityspalvelimen todennusta Selenium Web-ohjain

⚡ Älykäs yhteenveto

Välityspalvelimen todennus Selenium WebDriver käsittelee tunnistetietojen ponnahdusikkunan, joka tulee näkyviin, kun selain muodostaa yhteyden suojatun välityspalvelimen kautta. Koska Selenium ei voi käyttää natiiveja valintaikkunoita suoraan, kaksi lähestymistapaa käyttävät AutoIt-työkalua ja sisäänrakennettuja hälytyksiä.

  • 🛡️ Välityspalvelimen rooli: Välityspalvelin on välittäjä, joka lisää yksityisyyttä, turvallisuutta ja sisällön suodatusta.
  • 🔀 SOCKS vs. HTTP: SOCKS ei tulkitse dataa; HTTP-välityspalvelin lukee vain HTTP-pyyntöjä.
  • 🪟 Natiivit ponnahdusikkunat: Selenium ei pysty käsittelemään käyttöjärjestelmän valintaikkunoita, joten tarvitaan ulkopuolista apua.
  • 🛠️ AutoIt-menetelmä: Käännetty AutoIt-skripti lähettää käyttäjätunnuksen ja salasanan ponnahdusikkunaan.
  • 🚨 Hälytysmenetelmä: Vaihda hälytykseen ja lähetä tunnistetiedot sendKeys-funktiolla ja hyväksy ne.

Käsittele välityspalvelimen todennusta Selenium web-ajuri

Mikä on välityspalvelin?

Välityspalvelin toimii välittäjänä pyyntöjä lähettävien asiakkaiden ja palvelimen vastaamisen välillä. Välityspalvelimen ensisijaisena käyttötarkoituksena on ylläpitää yksityisyyttä ja kapselointia useiden interaktiivisten järjestelmien välillä.

Välityspalvelin voi myös lisätä verkkoon toisen suojakerroksen toimimalla palomuurina asiakkaan ja verkkopalvelimien välillä. Tätä käytetään erityisesti silloin, kun asiakkaiden käyttämät verkkosivustot on merkittävä sallituiksi tai estettäväksi verkkosivuston sisällön perusteella.

Tämä prosessi tunnetaan nimellä "sisällön suodatus", ja sitä käytetään yleisimmin oppilaitoksissa, yritysten toimistoissa jne. Sisällön suodatus voidaan suorittaa helposti välityspalvelimen avulla. Internetin kannalta välityspalvelin voidaan toteuttaa erillisenä palvelimena, joka seisoo asiakaskoneiden ja varsinaisten web- tai tietokantapalvelimien välissä.

Ero SOCKS:n ja HTTP-välityspalvelimen välillä

Sukat HTTP-välityspalvelin
SOCKS tarkoittaa suojattuja pistorasioita. Sitä käytetään yleensä palomuurina asiakkaan ja palvelimen välillä HTTP-välityspalvelinta voidaan käyttää myös palomuurina asiakkaan ja palvelimen välillä, mutta sitä voidaan käyttää vain HTTP-pyyntöihin
SOCKS ei tulkitse vaihdettavia tietoja HTTP-välityspalvelin tulkitsee asiakkaan ja palvelimen välillä vaihdettavat tiedot
Suorituskyvyn suhteen hitaampi Parempi suorituskyky verrattuna SOCKSiin

Kuinka käsitellä välityspalvelinta Selenium Webdriver Chromessa

HTTP-välityspalvelimen todennus Selenium Chromessa voidaan käsitellä seuraavilla tavoilla

  • AutoIt-työkalun käyttö
  • Hälytysten käyttäminen

AutoIt-työkalun käyttö

AutoIt on kolmannen osapuolen työkalu, jota käytetään Windowsin työpöydän automatisointiin. Koska Selenium käsittelee vain verkkopohjaisia ​​ponnahdusikkunoita ja ikkunoita, käyttöjärjestelmän ohjaimien käsittely ei ole mahdollista käyttämällä Selenium.

Tämä edellyttää ulkoisten kolmannen osapuolen työkalujen, kuten AutoItin, integrointia. SeleniumTätä varten AutoIt-työkalua käytetään yleisimmin tiedostojen lataamiseen ja lähettämiseen verkkosivustoille.

Käyttääksesi AutoIt-ohjelmaa sinun on ladattava ja asennettava AutoIt-ohjelmisto paikallisille koneillemme.

AutoIt-asennuksen lataaminen on käsitelty kohdassa artikkeli.

Avaa Ohjelmat – Autoit-työkalu – SciTE Script Editor ja lisää alla mainittu AutoIt-skripti Autoit-editoriin ja tallenna se järjestelmääsi nimellä ProxyAuthentication.au3.

Käännä tiedosto ja muunna se muotoon ProxyAuthentication.exe.

In Eclipse, lisää AutoIt-tiedosto Selenium Käsikirjoita ja aja

Alla on AutoIt-skripti HTTP-välityspalvelimen todennusta varten

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

Sinun on välitettävä AutoIt-tiedosto suoritettavaksi Selenium webdriver alla olevalla koodilla

Lähde 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 Selitys:

  • Ensimmäisessä vaiheessa olet alustamassa Chrome-ohjaimen esiintymää asettamalla järjestelmän ominaisuuden osoittamaan chromedriver.exe-tiedostoa.
  • Toisessa vaiheessa alustat web-ajurin objektin ja välität verkkosivuston URL käyttämällä get-metodia
  • Lopuksi välität käyttäjätunnuksen ja salasanan HTTP-välityspalvelimen todennusponnahdusikkunaan AutoIt-skriptitiedoston avulla.

Code lähtö:

Käyttäjätunnushälytysten käsittely AutoIt-sovelluksella
Käyttäjätunnushälytysten käsittely AutoIt-sovelluksella
Salasanavaroituksen käsittely AutoIt-sovelluksella

Salasanavaroituksen käsittely AutoIt-sovelluksella
Välityspalvelimen todennuksen onnistumisnäyttö

Välityspalvelimen todennuksen onnistumisnäyttö

Hälytysten käyttäminen

Hälytykset ovat yksinkertaisia, sisäänrakennettu ominaisuus Selenium web-ohjain. Voit käsitellä välityspalvelimen todennusponnahdusikkunoita käyttämällä Selenium web-ajuri vaihtamalla HTTP-välityspalvelimen todennushälytykseen ja välittämällä käyttäjänimen ja salasanan suoraan hälytykselle. Avainten lähetysmenetelmän avulla.

esimerkki:

Testi skenaario:

Käsittele HTTP-välityspalvelimen todennusponnahdusikkunaa verkkosivustolla: https://demo.guru99.com/test/basic_auth.php käyttämällä hälytyksiä Selenium web-ohjain.

Lähdekoodi Esimerkki:

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 ulostulo

Välityspalvelimen todennus suoritettu onnistuneesti.

Code Selitys:

  • Aluksi luot Chrome-ohjaimen esiintymän asettamalla webdriver-ominaisuuden osoittamaan chromedriver.exe-tiedoston sijaintia.
  • Sitten avaat URL vaaditun verkkosivuston ohittamalla URL parametrina driver.get()-metodille
  • Kerran URL avataan, vaihdat käyttäjätunnushälytykseen ja lähetät käyttäjätunnuksen – guru99. Napsauta sitten OK-painiketta hälytyksessä käyttämällä alert.accept-metodia.
  • Sitten siirryt salasanavaroittimeen ja lähetät salasanan – guru99. Napsautat sitten OK-painiketta hälytyksessä käyttämällä alert.accept-menetelmää

UKK

Voit upottaa tunnistetiedot muodossa https://user:pass@site.com, mutta moderni Chrome ja Firefox Estä tämä turvallisuussyistä. Hälytykset tai selainlaajennukset ovat nyt luotettavampia välityspalvelimen todennuksessa.

AutoIt automatisoi Windows työpöydän ohjaimet, jotka Selenium ei voi tavoittaa, kuten natiiveja todennusponnahdusikkunoita ja tiedostojen latausvalintaikkunoita. Käännät AutoIt-skriptin suoritettavaksi tiedostoksi ja kutsut sitä Selenium koodi.

Välityspalvelin reitittää liikenteen uudelleen tiettyihin sovelluksiin tai selaimiin, pääasiassa piilottamalla IP-osoitteita tai suodattamalla sisältöä. VPN salaa kaiken laiteliikenteen koko järjestelmän tasolla, mikä tarjoaa vahvemman yksityisyyden kuin tavallinen välityspalvelin.

Kyllä. Tekoälypohjaiset testaustyökalut tunnistavat todennusikkunat, lisäävät tallennetut tunnistetiedot ja korjaavat itse itsensä, kun ponnahdusikkunoiden toiminta muuttuu, mikä vähentää hauraiden AutoIt-skriptien käyttöä eri selaimissa.

Tekoälytyökalut kierrättävät välityspalvelimia älykkäästi, havaitsevat estettyjä pyyntöjä ja mukauttavat odotusaikoja, kun todennuskehotteita tulee näkyviin. Tämä automaatio parantaa testien vakautta sivustoilla, jotka ovat yritys- tai sisältöä suodattavien välityspalvelimien takana.

Kyllä. Selenium 4 lisäsi Chrome DevTools -protokollatuen, jonka avulla voit asettaa HTTP-tunnistetiedot ohjelmallisesti ja käsitellä perustodennuksen, välttäen automaattisen todennuksen monissa välityspalvelintilanteissa.

Tiivistä tämä viesti seuraavasti: