Jak obsługiwać uwierzytelnianie proxy w Selenium Sterownik internetowy

Co to jest pełnomocnik?

Serwer proxy działa jako pośrednik między klientami wysyłającymi żądania a odpowiedzią serwera. Podstawowym zastosowaniem serwera proxy jest zachowanie prywatności i hermetyzacji pomiędzy wieloma interaktywnymi systemami.

Serwer proxy może również dodać kolejną warstwę zabezpieczeń w Internecie, działając jako zapora ogniowa pomiędzy Klientem a serwerami internetowymi. Jest to szczególnie stosowane, gdy strony internetowe, z których korzystają klienci, muszą być oznaczone jako dozwolone lub blokowane w oparciu o zawartość witryny.

Proces ten nazywany jest „filtrowaniem treści” i jest najczęściej stosowany w instytucjach edukacyjnych, biurach korporacji itp. Filtrowanie treści można łatwo przeprowadzić za pomocą serwera proxy. Jeśli chodzi o Internet, serwer proxy można wdrożyć jako oddzielny serwer, który stoi pomiędzy komputerami klienckimi a odpowiadającymi rzeczywistymi serwerami internetowymi lub bazami danych.

Różnica między SOCKS a serwerem proxy HTTP

SKARPETY Http Proxy
SOCKS oznacza gniazdka zabezpieczone. Jest powszechnie używany jako zapora ogniowa pomiędzy Klientem a serwerem Serwer proxy HTTP może być również używany jako zapora sieciowa pomiędzy Klientem a serwerem, ale może być używany tylko do żądań HTTP
SOCKS nie interpretuje wymienianych danych Serwer proxy HTTP interpretuje dane wymieniane pomiędzy Klientem a serwerem
Wolniejszy pod względem wydajności Lepsza wydajność w porównaniu do skarpetek

Jak obsługiwać proxy w Selenium Sterownik sieciowy w Chrome

Uwierzytelnianie proxy HTTP za pomocą Selenium w Chrome można sobie z tym poradzić, stosując następujące podejścia

  • Korzystanie z narzędzia AutoIT
  • Korzystanie z alertów

Korzystanie z narzędzia AutoIT

Auto IT to narzędzie innej firmy, które jest używane do automatyzacji pulpitu Windows. Ponieważ Selenium obsługuje wyłącznie wyskakujące okienka i okna oparte na sieci Web, obsługa elementów sterujących systemem operacyjnym nie jest możliwa Selenium.

Wymaga to użycia zewnętrznych narzędzi innych firm, takich jak Auto IT, z którymi można się zintegrować Selenium. W tym celu Auto IT jest najczęściej używany do obsługi przesyłania i pobierania plików na stronach internetowych.

Aby korzystać z AutoIT, musisz pobrać i zainstalować oprogramowanie AutoIT na naszych lokalnych komputerach.

Pobieranie instalacji AutoIT jest omówione w artykuł.

Otwórz Programy – Narzędzie Autoit – SciTE Script Editor i dodaj poniższy skrypt AutoIt w edytorze Autoit i zapisz go jako „ProxyAuthentication.au3” w swoim systemie

Skompiluj plik i przekonwertuj go jako „ProxyAuthentication.exe”.

In Eclipse, dodaj plik Auto IT do Selenium Skrypt i uruchom

Poniżej znajduje się skrypt AutoIT do uwierzytelniania HTTP Proxy

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

Musisz przekazać plik Auto IT do wykonania Selenium webdriver, korzystając z poniższego kodu

Kod źródłowy:

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

Wyjaśnienie kodu:

  • W pierwszym kroku inicjujesz instancję sterownika Chrome, ustawiając właściwość systemową tak, aby wskazywała plik chromedriver.exe
  • W drugim kroku inicjujesz obiekt sterownika internetowego i przekazujesz adres URL witryny za pomocą metody get
  • Na koniec przekazujesz nazwę użytkownika i hasło do wyskakującego okienka uwierzytelniania proxy HTTP za pomocą pliku skryptu AutoIT

Dane wyjściowe kodu:

Obsługa alertów dotyczących nazwy użytkownika za pomocą AutoIT
Obsługa alertów dotyczących nazwy użytkownika za pomocą AutoIT
Obsługa alertów hasła za pomocą AutoIT

Obsługa alertów hasła za pomocą AutoIT
Ekran powodzenia uwierzytelnienia proxy

Ekran powodzenia uwierzytelnienia proxy

Korzystanie z alertów

Alerty to prosta, wbudowana funkcja udostępniana przez Selenium sterownik sieciowy. Możesz obsługiwać wyskakujące okienka uwierzytelniania proxy za pomocą Selenium sterownik sieciowy, przełączając się na alert uwierzytelniania proxy HTTP i przekazując nazwę użytkownika i hasło bezpośrednio do alertu. Za pomocą metody wysyłania kluczy.

Przykład:

Scenariusz testowy:

Obsługuj wyskakujące okienko uwierzytelniania proxy HTTP na stronie internetowej: https://demo.guru99.com/test/basic_auth.php za pomocą alertów w Selenium sterownik sieciowy.

Przykład kodu źródłowego:

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

Wyjście kodu

Uwierzytelnienie proxy zostało wykonane pomyślnie.

Wyjaśnienie kodu:

  • Początkowo tworzysz instancję sterownika Chrome, ustawiając właściwość webdriver tak, aby wskazywała lokalizację pliku chromedriver.exe
  • Następnie otwierasz adres URL żądanej witryny internetowej, przekazując adres URL jako parametr do metody Driver.get().
  • Po otwarciu adresu URL przełączasz się na powiadomienie o nazwie użytkownika i wysyłasz nazwę użytkownika – guru99. Następnie klikasz przycisk OK w alercie, korzystając z metody alert.accept
  • Następnie przełączasz się na powiadomienie o haśle i wysyłasz hasło – guru99. Następnie klikasz przycisk OK w alercie, korzystając z metody alert.accept

Podsumowanie

  • Serwer proxy działa jako pośrednik między klientami wysyłającymi żądania a odpowiedzią serwera. Podstawowym zastosowaniem serwera proxy jest zachowanie prywatności i hermetyzacja pomiędzy wieloma interaktywnymi systemami.
  • Uwierzytelnianie proxy HTTP za pomocą Selenium w Chrome można sobie z tym poradzić, stosując następujące podejścia
  • Przekazywanie nazwy użytkownika i hasła w adresie URL witryny
  • Korzystanie z narzędzia AutoIT
  • Korzystanie z alertów
  • Z powyższych trzech podejść najskuteczniejszym sposobem obsługi uwierzytelniania za pośrednictwem serwera proxy HTTP jest używanie alertów Selenium sterownik internetowy