본문 바로가기
Python/Selenium

Selenium 테스트에서 프록시 서버 활용하기

by PySun 2025. 2. 7.
반응형

Selenium 테스트에서 프록시 서버 활용하기: 웹 자동화의 새로운 차원

웹 자동화의 세계에서 Selenium은 강력한 도구로 자리잡고 있습니다. 하지만, 테스트 환경에서의 네트워크 조건이나 상황을 시뮬레이션하기란 쉽지 않은 일입니다. 이럴 때 프록시 서버를 활용하면 다양한 테스트 시나리오를 구현할 수 있습니다. 이번 포스팅에서는 Selenium에서 프록시 서버를 설정하고 활용하는 방법에 대해 알아보겠습니다.

프록시 서버란?

프록시 서버는 클라이언트와 인터넷 사이에 위치하여 요청을 중계하는 서버입니다. 이를 통해 다양한 네트워크 조건을 시뮬레이트 할 수 있으며, 보안, 속도, 익명성을 제공할 수 있습니다. Selenium으로 웹 테스트를 진행할 때, 프록시 서버의 활용은 테스트의 신뢰성을 높이고 다양한 사용자 환경을 복제할 수 있도록 도와줍니다.

프록시 서버 설정 방법

Selenium에서 프록시 서버를 설정하는 과정은 어렵지 않습니다. 다음 코드 예제를 통해 설정 방법을 알아보겠습니다.

사용 예제

기본 프록시 설정

다음은 Selenium WebDriver를 사용하여 프록시 서버를 설정하는 기본 예제입니다.

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

# 프록시 서버 설정
my_proxy = "123.123.123.123:8080"  # 사용하고자 하는 프록시 서버 주소

proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = my_proxy
proxy.ssl_proxy = my_proxy

capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)

# Chrome WebDriver 생성
driver = webdriver.Chrome(desired_capabilities=capabilities)

# 테스트할 웹 페이지 열기
driver.get("http://example.com")

# 웹 페이지 제목 출력
print(driver.title)

# 드라이버 종료
driver.quit()

리스트에서 프록시 서버 선택하기

여러 개의 프록시 서버를 사용하여 랜덤하게 테스트를 진행하고 싶다면, 다음과 같은 방법을 사용할 수 있습니다.

import random

# 사용할 프록시 리스트
proxy_list = [
    "123.123.123.123:8080",
    "124.124.124.124:8080",
    "125.125.125.125:8080",
]

# 랜덤하게 프록시 서버 선택
my_proxy = random.choice(proxy_list)

# 나머지 코드는 이전 예제와 동일하게 설정
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = my_proxy
proxy.ssl_proxy = my_proxy

capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)

# Chrome WebDriver 생성 및 테스트 진행
driver = webdriver.Chrome(desired_capabilities=capabilities)
driver.get("http://example.com")
print(driver.title)
driver.quit()

결론

Selenium에서 프록시 서버를 활용하면 다양한 테스트 환경을 재현할 수 있습니다. 이를 통해 웹 페이지의 로딩 속도, 응답 시간, 지역별 콘텐츠 접근성 등을 검토할 수 있습니다. 프록시 서버 설정이 간단하며, 다양한 시나리오에서 유용하게 활용될 수 있으므로, 테스트 자동화 시 반드시 고려해야 할 요소입니다.

  • Selenium과 함께 프록시 서버를 이용하여 사용자 경험을 더욱 완벽하게 검증해 보세요!
  • 지금 바로 Selenium 테스트에 프록시 서버를 도입하여 새로운 가능성을 경험해 보세요!
반응형