A proxy hitelesítés kezelése Selenium Webdriver

⚡ Okos összefoglaló

Proxy hitelesítés Selenium A WebDriver kezeli a hitelesítő adatok felugró ablakát, amely akkor jelenik meg, amikor egy böngésző biztonságos proxy szerveren keresztül csatlakozik. Mivel Selenium nem tudja közvetlenül kezelni a natív párbeszédablakokat, két megközelítés az AutoIt eszközt és a beépített riasztásokat használja.

  • 🛡️ Helyettesítő szerepkör: A proxy egy közvetítő, amely adatvédelmet, biztonságot és tartalomszűrést biztosít.
  • 🔀 SOCKS vs. HTTP: A SOCKS nem értelmezi az adatokat; egy HTTP proxy csak HTTP kéréseket olvas.
  • 🪟 Natív felugró ablakok: Selenium nem tudja kezelni az operációs rendszer párbeszédablakait, ezért külső segítségre van szükség.
  • 🇧🇷 AutoIt metódus: Egy lefordított AutoIt szkript elküldi a felhasználónevet és jelszót a felugró ablaknak.
  • ???? Riasztási módszer: Váltson a riasztásra, és küldje el a hitelesítő adatokat a sendKeys paranccsal, majd fogadja el.

Proxy hitelesítés kezelése itt: Selenium webdriver

Mi az a proxy?

A proxy közvetítőként működik a kéréseket küldő kliensek és a válaszadó szerver között. A proxy elsődleges használata az adatvédelem és a több interaktív rendszer közötti beágyazás fenntartása.

A proxy egy újabb biztonsági réteget is hozzáadhat a weben azáltal, hogy tűzfalként működik az Ügyfél és a webszerverek között. Ez különösen akkor használatos, ha az ügyfelek által használt webhelyeket a webhely tartalma alapján engedélyezettként vagy blokkolva kell megjelölni.

Ezt a folyamatot „Tartalomszűrésnek” nevezik, és leggyakrabban oktatási intézményekben, vállalati irodákban stb. használják. A tartalomszűrés egyszerűen végrehajtható egy proxy segítségével. Az internetet tekintve a proxy külön szerverként is megvalósítható, amely a kliensgépek és a ténylegesen válaszoló web- vagy adatbázisszerverek között áll.

A SOCKS és a HTTP Proxy közötti különbség

ZOKNI HTTP Proxy
A SOCKS a biztonságos aljzatokat jelenti. Általában tűzfalként használják az Ügyfél és a szerver között A HTTP-proxy tűzfalként is használható a kliens és a szerver között, de csak HTTP kérésekhez használható
A SOCKS nem értelmezi a kicserélt adatokat A HTTP Proxy értelmezi a kliens és a szerver között cserélt adatokat
A teljesítmény szempontjából lassabb Jobb teljesítmény a SOCKS-hoz képest

A proxy kezelésének módja Selenium Webdriver a Chrome-ban

HTTP proxy hitelesítés ezzel Selenium a Chrome-ban a következő megközelítésekkel kezelhető

  • Az AutoIt eszköz használata
  • Figyelmeztetések használata

Az AutoIt eszköz használata

Az AutoIt egy harmadik féltől származó eszköz, amelyet Windows asztali automatizáláshoz használnak. Selenium csak webalapú előugró ablakokat és ablakokat kezel, az operációs rendszer vezérlőinek kezelése nem lehetséges Selenium.

Ehhez külső, harmadik féltől származó eszközök, például az AutoIt integrálása szükséges. SeleniumEzért az AutoIt-et leggyakrabban fájlfeltöltések és fájlletöltések kezelésére használják webhelyeken.

Az AutoIt használatához le kell töltenie és telepítenie kell az AutoIt szoftvert a helyi gépeinkre.

Az AutoIt telepítésének letöltését a következő tárgyalja: cikkben.

Nyissa meg a Programok – Autoit eszköz – SciTE Script Editor alkalmazást, és adja hozzá az alább említett AutoIt szkriptet az Autoit szerkesztőhöz, és mentse el „ProxyAuthentication.au3” néven a rendszerébe.

Fordítsa le a fájlt, és alakítsa át "ProxyAuthentication.exe" néven.

In Eclipse, adja hozzá az AutoIt fájlt a Selenium Script és futtassa

Az alábbiakban látható az AutoIt szkript a HTTP Proxy hitelesítéshez.

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

Át kell adnia az AutoIt fájlt a végrehajtáshoz a következőn: Selenium webdriver az alábbi kód használatával

Forrás 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 Magyarázat:

  • Az első lépésben Ön inicializálja a Chrome illesztőprogram egy példányát úgy, hogy a rendszertulajdonságot úgy állítja be, hogy a chromedriver.exe fájlra mutasson.
  • A második lépésben inicializálja a webillesztő objektumát, és átadja a weboldalt. URL get metódus használata
  • Végül egy AutoIt szkriptfájl segítségével átadja a felhasználónevet és jelszót a HTTP Proxy hitelesítési felugró ablaknak.

Code output:

Felhasználónév-riasztások kezelése az AutoIt használatával
Felhasználónév-riasztások kezelése az AutoIt használatával
Jelszóriasztás kezelése az AutoIt használatával

Jelszóriasztás kezelése az AutoIt használatával
A proxy hitelesítés sikeres képernyője

A proxy hitelesítés sikeres képernyője

Figyelmeztetések használata

A riasztások egyszerű, beépített funkció, amelyet a Selenium web-illesztőprogram. A proxy hitelesítési előugró ablakokat a segítségével kezelheti Selenium web-illesztőprogram a HTTP-proxy hitelesítési riasztásra váltással, és a felhasználónév és jelszó közvetlenül a riasztásnak történő átadásával. Kulcsküldés módszer segítségével.

Példa:

Teszt forgatókönyv:

Kezelje a HTTP Proxy hitelesítés előugró ablakát a webhelyen: https://demo.guru99.com/test/basic_auth.php az Alerts használatával Selenium web-illesztőprogram.

Példa a forráskódra:

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 teljesítmény

A proxy hitelesítés sikeresen megtörtént.

Code Magyarázat:

  • Kezdetben Ön a Chrome-illesztőprogram egy példányát hozza létre úgy, hogy a webdriver tulajdonságot úgy állítja be, hogy a chromedriver.exe fájl helyét mutassa.
  • Akkor megnyitod a URL a kívánt weboldalról a URL paraméterként a driver.get() metódushoz
  • Egyszer URL megnyílik, Ön átvált a felhasználónév-riasztásra, és elküldi a felhasználónevet – guru99. Ezután az OK gombra kattint a riasztáson az alert.accept metódus használatával.
  • Ezután átvált a jelszóriasztásra, és elküldi a jelszót – guru99. Ezután kattintson az OK gombra a riasztáson az alert.accept módszerrel

GYIK

A hitelesítő adatokat beágyazhatod a https://user:pass@site.com formátumban, de a modern Chrome és Firefox Biztonsági okokból blokkolja ezt. A riasztások vagy a böngészőbővítmények mostantól megbízhatóbbak a proxy hitelesítéshez.

AutoIt automatizál Windows asztali vezérlők, amelyek Selenium nem elérhető, például natív hitelesítési felugró ablakok és fájlfeltöltési párbeszédablakok. Egy AutoIt szkriptet futtathatóvá kell fordítani, és meghívni a következőből: Selenium kód.

Egy proxy átirányítja a forgalmat adott alkalmazásokhoz vagy böngészőkhöz, főként IP-címeket rejtve el vagy tartalmat szűrve. Egy VPN az eszköz teljes forgalmát titkosítja a rendszer egészében, így nagyobb adatvédelmet biztosít, mint egy hagyományos proxy.

Igen. A mesterséges intelligencia által vezérelt tesztelőeszközök észlelik a hitelesítési párbeszédablakokat, befecskendezik a tárolt hitelesítő adatokat, és önjavító üzemmódba kapcsolnak, ha a felugró ablakok viselkedése megváltozik, így csökkentve a törékeny AutoIt szkriptekre való támaszkodást a böngészők között.

A mesterséges intelligencia által biztosított eszközök intelligensen rotálják a proxykat, észlelik a blokkolt kéréseket, és igazítják a várakozási időt, amikor hitelesítési kérdések jelennek meg. Ez az automatizálás javítja a tesztek stabilitását a vállalati vagy tartalomszűrő proxyk mögött található webhelyek esetében.

Igen. Selenium A 4-es verzióban Chrome DevTools Protocol támogatást kapott, amely lehetővé teszi a HTTP hitelesítő adatok programozott beállítását és az alapvető hitelesítés kezelését, elkerülve az AutoIt használatát számos proxy forgatókönyv esetén.

Foglald össze ezt a bejegyzést a következőképpen: