Как да се справим с удостоверяването на прокси в Selenium Уебдрайвер

Какво е прокси?

Проксито действа като посредник между клиентите, изпращащи заявки, и сървъра, който отговаря. Основната употреба на прокси е да поддържа поверителност и капсулиране между множество интерактивни системи.

Проксито може също така да добави още едно ниво на сигурност в мрежата, като действа като защитна стена между клиента и уеб сървърите. Това се използва особено, когато уебсайтовете, които клиентите използват, трябва да бъдат етикетирани като разрешени или блокирани въз основа на съдържанието на уебсайта.

Този процес е известен като „Филтриране на съдържание“ и се използва най-често в образователни институции, корпоративни офиси и т.н. Филтрирането на съдържание може лесно да се осъществи с помощта на прокси. От гледна точка на Интернет, проксито може да бъде внедрено като отделен сървър, който стои между клиентските машини и действителните отговарящи уеб сървъри или сървъри на бази данни.

Разлика между SOCKS и HTTP прокси

ЧОРАПИ Протокол HTTP
SOCKS означава защитени контакти. Обикновено се използва като защитна стена между клиента и сървъра HTTP прокси може да се използва и като защитна стена между клиента и сървъра, но може да се използва само за HTTP заявки
SOCKS не интерпретира данните, които се обменят HTTP прокси интерпретира данните, които се обменят между клиента и сървъра
По-бавно по отношение на производителността По-добра производителност в сравнение с SOCKS

Как да управлявате прокси в Selenium Уеб драйвер в Chrome

HTTP прокси удостоверяване с Selenium в Chrome може да се управлява чрез следните подходи

  • Използване на инструмента AutoIT
  • Използване на предупреждения

Използване на инструмента AutoIT

Auto IT е инструмент на трета страна, който се използва за автоматизация на работния плот на Windows. Тъй като Selenium обработва само уеб-базирани изскачащи прозорци и прозорци, боравене с контроли на операционната система не е възможно при използване Selenium.

Това изисква използването на външни инструменти на трети страни като Auto IT, с които да се интегрира Selenium. За това Auto IT се използва най-често за обработка на качвания на файлове и изтегляния на файлове на уебсайтове.

За да използвате AutoIT, трябва да изтеглите и инсталирате софтуера AutoIT на нашите локални машини.

Изтеглянето на инсталация на AutoIT е описано в статията.

Отворете Програми – Инструмент Autoit – SciTE Script Editor и добавете споменатия по-долу скрипт AutoIt в редактора Autoit и го запазете като „ProxyAuthentication.au3“ във вашата система

Компилирайте файла и го конвертирайте като „ProxyAuthentication.exe“.

In Eclipse, добавете Auto IT файла към Selenium Направете скрипт и стартирайте

По-долу е скриптът AutoIT за HTTP прокси удостоверяване

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

Трябва да предадете Auto IT файла за изпълнение на Selenium webdriver, използвайки кода по-долу

Програмен код:

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

Обяснение на кода:

  • В първата стъпка инициализирате екземпляр на драйвера на Chrome, като зададете системното свойство да насочва към файла chromedriver.exe
  • Във втората стъпка след това инициализирате обект на уеб драйвер и предавате URL адреса на уебсайта, като използвате метода get
  • И накрая, предавате потребителско име и парола на изскачащ прозорец за удостоверяване на HTTP прокси с помощта на файл със скрипт на AutoIT

Изходен код:

Обработка на сигнали за потребителско име с помощта на AutoIT
Обработка на сигнали за потребителско име с помощта на AutoIT
Работа с предупреждение за парола с помощта на AutoIT

Работа с предупреждение за парола с помощта на AutoIT
Екран за успешно удостоверяване на прокси

Екран за успешно удостоверяване на прокси

Използване на предупреждения

Сигналите са проста, вградена функция, предоставена от Selenium уеб драйвер. Можете да управлявате изскачащи прозорци за удостоверяване на прокси, като използвате Selenium уеб драйвер, като превключите към предупреждението за удостоверяване на HTTP прокси и подадете потребителското име и паролата директно към предупреждението. С помощта на метода за изпращане на ключове.

Пример:

Тестов сценарий:

Обработете изскачащия прозорец за удостоверяване на HTTP прокси на уебсайта: https://demo.guru99.com/test/basic_auth.php използване на предупреждения в Selenium уеб драйвер.

Пример за изходен код:

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

Изходен код

Прокси удостоверяването е извършено успешно.

Обяснение на кода:

  • Първоначално създавате екземпляр на драйвер на Chrome, като зададете свойството webdriver да посочи местоположението на файла chromedriver.exe
  • След това отваряте URL адреса на необходимия уебсайт, като предавате URL адреса като параметър на метода driver.get().
  • След като URL адресът бъде отворен, вие превключвате към предупреждението за потребителско име и изпращате потребителското име – guru99. След това щракнете върху бутона OK в предупреждението, като използвате метода alert.accept
  • След това превключвате към предупреждението за парола и изпращате паролата – guru99. След това щракнете върху бутона OK в предупреждението, като използвате метода alert.accept

Oбобщение

  • Проксито действа като посредник между клиентите, изпращащи заявки, и сървъра, който отговаря. Основната употреба на прокси е да поддържа поверителност и капсулиране между множество интерактивни системи.
  • HTTP прокси удостоверяване с Selenium в Chrome може да се управлява чрез следните подходи
  • Предаване на потребителско име и парола в URL адреса на уебсайта
  • Използване на инструмента AutoIT
  • Използване на предупреждения
  • От горните три подхода използването на предупреждения е най-ефективният начин за справяне с удостоверяването на HTTP прокси в Selenium уеб драйвер