프록시 인증을 처리하는 방법 Selenium 웹드라이버

프록시란 무엇입니까?

프록시는 요청을 보내는 클라이언트와 응답하는 서버 사이의 중개자 역할을 합니다. 프록시의 주요 용도는 여러 대화형 시스템 간의 개인 정보 보호 및 캡슐화를 유지하는 것입니다.

프록시는 클라이언트와 웹 서버 사이의 방화벽 역할을 하여 웹에 또 다른 보안 계층을 추가할 수도 있습니다. 이는 특히 클라이언트가 사용하는 웹 사이트에 웹 사이트 콘텐츠에 따라 허용 또는 차단 레이블을 지정해야 하는 경우에 사용됩니다.

이 프로세스는 '콘텐츠 필터링'으로 알려져 있으며 교육 기관, 회사 사무실 등에서 가장 일반적으로 사용됩니다. 콘텐츠 필터링은 프록시의 도움으로 쉽게 수행할 수 있습니다. 인터넷 측면에서 프록시는 클라이언트 시스템과 실제 웹 또는 응답하는 데이터베이스 서버 사이에 있는 별도의 서버로 구현될 수 있습니다.

SOCKS와 HTTP 프록시의 차이점

SOCKS 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 스크립트 편집기를 열고 아래에 언급된 AutoIt 스크립트를 Autoit 편집기에 추가하고 시스템에 'ProxyAuthentication.au3'로 저장합니다.

파일을 컴파일하여 'ProxyAuthentication.exe'로 변환합니다.

In Eclipse, Auto IT 파일을 다음에 추가합니다. Selenium 스크립트 및 실행

다음은 HTTP 프록시 인증을 위한 AutoIT 스크립트입니다.

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

다음에서 실행하려면 Auto IT 파일을 전달해야 합니다. Selenium 아래 코드를 사용하는 웹드라이버

소스 코드 :

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

코드 설명 :

  • 첫 번째 단계에서는 chromedriver.exe 파일을 가리키도록 시스템 속성을 설정하여 Chrome 드라이버 인스턴스를 초기화합니다.
  • 두 번째 단계에서는 웹 드라이버 개체를 초기화하고 get 메서드를 사용하여 웹 사이트 URL을 전달합니다.
  • 마지막으로 AutoIT 스크립트 파일을 사용하여 HTTP 프록시 인증 팝업에 사용자 이름과 비밀번호를 전달합니다.

코드 출력:

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

코드 출력

프록시 인증이 성공적으로 완료되었습니다.

코드 설명 :

  • 처음에는 chromedriver.exe 파일의 위치를 ​​가리키도록 webdriver 속성을 설정하여 Chrome 드라이버 인스턴스를 인스턴스화합니다.
  • 그런 다음 URL을 드라이버.get() 메소드에 매개변수로 전달하여 필요한 웹사이트의 URL을 엽니다.
  • URL이 열리면 사용자 이름 경고로 전환하고 사용자 이름 – guru99를 보냅니다. 그런 다음 Alert.accept 메소드를 사용하여 경고에서 확인 버튼을 클릭합니다.
  • 그런 다음 비밀번호 경고로 전환하고 비밀번호(guru99)를 보냅니다. 그런 다음 Alert.accept 메소드를 사용하여 경고에서 확인 버튼을 클릭합니다.

요약

  • 프록시는 요청을 보내는 클라이언트와 응답하는 서버 사이의 중개자 역할을 합니다. 프록시의 기본 사용은 개인정보 보호와 캡슐화 여러 대화형 시스템 간의
  • HTTP 프록시 인증 Selenium Chrome에서는 다음 접근 방식을 사용하여 처리할 수 있습니다.
  • 웹사이트 URL에 사용자 이름과 비밀번호 전달
  • AutoIT 도구 사용
  • 경고 사용
  • 위의 세 가지 접근 방식 중 경고를 사용하는 것이 HTTP 프록시 인증을 처리하는 가장 효과적인 방법입니다. Selenium 웹 드라이버