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