Cum să gestionați autentificarea proxy în Selenium Webdriver

Ce este un proxy?

Un proxy acționează ca un intermediar între clienții care trimit cereri și serverul care răspunde. Utilizarea principală a unui proxy este menținerea confidențialității și încapsulării între mai multe sisteme interactive.

Un proxy poate adăuga, de asemenea, un alt nivel de securitate pe web, acționând ca un firewall între client și serverele web. Acest lucru este utilizat în special atunci când site-urile web pe care le folosesc clienții trebuie să fie etichetate ca permise sau blocate pe baza conținutului site-ului.

Acest proces este cunoscut sub numele de „Filtrare de conținut” și este cel mai frecvent utilizat în instituții de învățământ, birouri corporative etc. Filtrarea conținutului poate fi realizată cu ușurință cu ajutorul unui proxy. În ceea ce privește internetul, un proxy poate fi implementat ca un server separat, care se află între mașinile client și serverele web sau baze de date reale care răspund.

Diferența dintre SOCKS și HTTP Proxy

SOCKS Http proxy
SOCKS înseamnă prize securizate. Este folosit în general ca firewall între client și server HTTP Proxy poate fi folosit și ca firewall între Client și server, dar poate fi folosit numai pentru solicitări HTTP
SOCKS nu interpretează datele care sunt schimbate HTTP Proxy interpretează datele schimbate între client și server
Mai lent din punct de vedere al performanței Performanță mai bună în comparație cu SOCKS

Cum să gestionați proxy în Selenium Webdriver în Chrome

Autentificare proxy HTTP cu Selenium în Chrome poate fi gestionat folosind următoarele abordări

  • Folosind instrumentul AutoIT
  • Utilizarea alertelor

Folosind instrumentul AutoIT

Auto IT este un instrument terță parte care este utilizat pentru automatizarea desktopului Windows. Din moment ce Selenium gestionează numai ferestrele pop-up și ferestre bazate pe web, gestionarea controalelor sistemului de operare nu este posibilă Selenium.

Acest lucru necesită utilizarea unor instrumente externe terțe, cum ar fi Auto IT, cu care să fie integrat Selenium. Pentru aceasta, Auto IT este cel mai frecvent utilizat pentru gestionarea încărcărilor de fișiere și a descărcărilor de fișiere pe site-uri web.

Pentru a utiliza AutoIT, trebuie să descărcați și să instalați software-ul AutoIT pe mașinile noastre locale.

Descărcarea unei instalări a AutoIT este acoperită în articol.

Deschideți Programe – Instrument Autoit – Editor de scripturi SciTE și adăugați scriptul AutoIt menționat mai jos în editorul Autoit și salvați-l ca „ProxyAuthentication.au3” în sistemul dvs.

Compilați fișierul și convertiți-l ca „ProxyAuthentication.exe”.

In Eclipse, adăugați fișierul Auto IT la Selenium Scrieți și rulați

Mai jos este scriptul AutoIT pentru autentificarea proxy HTTP

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

Trebuie să treceți fișierul Auto IT pentru execuție Selenium webdriver folosind codul de mai jos

Cod sursa:

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");
    }
}

Explicația codului:

  • În primul pas, inițializați o instanță a driverului Chrome setând proprietatea sistemului pentru a indica fișierul chromedriver.exe
  • În al doilea pas, apoi inițializați un obiect al driverului web și treceți adresa URL a site-ului web folosind metoda get
  • În cele din urmă, transmiteți numele de utilizator și parola pop-upului de autentificare HTTP Proxy folosind un fișier script AutoIT

Ieșire cod:

Gestionarea alertelor de nume de utilizator folosind AutoIT
Gestionarea alertelor de nume de utilizator folosind AutoIT
Gestionarea alertelor de parolă folosind AutoIT

Gestionarea alertelor de parolă folosind AutoIT
Ecran de succes a autentificării proxy

Ecran de succes a autentificării proxy

Utilizarea alertelor

Alertele sunt o caracteristică simplă, încorporată oferită de Selenium driver web. Puteți gestiona ferestrele pop-up de autentificare proxy folosind Selenium driver web prin trecerea la alerta de autentificare proxy HTTP și prin transmiterea numelui de utilizator și a parolei direct în alertă. Cu ajutorul metodei trimite chei.

Exemplu:

Scenariul de testare:

Gestionați fereastra pop-up de autentificare HTTP Proxy de pe site: https://demo.guru99.com/test/basic_auth.php folosind Alerte în Selenium driver web.

Cod sursă Exemplu:

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();
    }
}

Ieșire cod

Autentificare proxy realizată cu succes.

Explicația codului:

  • Inițial, instanțiați o instanță a driverului Chrome setând proprietatea webdriver pentru a indica locația fișierului chromedriver.exe
  • Apoi, deschideți adresa URL a site-ului web necesar, trecând adresa URL ca parametru la metoda driver.get()
  • Odată ce adresa URL este deschisă, treceți la alerta privind numele de utilizator și trimiteți numele de utilizator – guru99. Apoi faceți clic pe butonul OK din alertă folosind metoda alert.accept
  • Apoi, treceți la alerta de parolă și trimiteți parola – guru99. Apoi faceți clic pe butonul OK din alertă folosind metoda alert.accept

Rezumat

  • Un proxy acționează ca un intermediar între clienții care trimit cereri și serverul care răspunde. Utilizarea de bază a unui proxy este menținerea confidențialității și încapsulare între mai multe sisteme interactive.
  • Autentificare proxy HTTP cu Selenium în Chrome poate fi gestionat folosind următoarele abordări
  • Transmiterea numelui de utilizator și a parolei în adresa URL a site-ului web
  • Folosind instrumentul AutoIT
  • Utilizarea alertelor
  • Dintre cele trei abordări de mai sus, utilizarea alertelor este cea mai eficientă modalitate de a gestiona autentificarea proxy HTTP Selenium webdriver