Python Selenium 아키텍처

발행: (2026년 5월 3일 PM 05:24 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

High Level Selenium Architecture

Selenium은 웹 기반 및 모바일 기반 애플리케이션을 자동화하는 도구입니다.
웹 기반 애플리케이션의 경우 Selenium은 브라우저와 통신하기 위한 내장 드라이버를 포함합니다. 모바일 애플리케이션의 경우 Selenium은 Appium이라는 추가 소스가 필요합니다.

Components

  1. Language Binding
    자동화 코드를 작성하는 부분입니다. Selenium은 Java, Python, C# 등 다양한 언어를 지원합니다. 바인딩은 코드를 WebDriver 명령으로 변환하고 사용자 코드와 Selenium 사이의 인터페이스 역할을 합니다.

  2. Browser Drivers
    코드와 브라우저를 연결하는 중간 계층입니다. 예시: ChromeDriver, EdgeDriver, SafariDriver, …

  3. Browsers
    최종 실행이 이루어지는 곳입니다. 예시: Chrome, Edge, Safari, …

High Level Selenium Architecture

Internal Selenium Architecture

Internal Selenium Architecture

WebDriver Class

Selenium의 주요 진입점입니다.

from selenium import webdriver

driver = webdriver.Chrome()

브라우저 세션을 초기화하고 Remote WebDriver에 명령을 전송합니다.

Remote WebDriver

Selenium의 핵심 구성 요소입니다. WebDriver 클래스에서 받은 명령을 JSON으로 변환하고 적절한 브라우저 드라이버에 요청을 전달합니다.

Browser Engine

실제 렌더링을 담당하고, 명령을 해석하며 DOM과 상호 작용합니다.

Browser Drivers

Selenium과 브라우저 사이를 연결하여 브라우저 내에서 명령을 실행합니다.

Significance of Python Virtual Environment

Python 가상 환경은 개발자가 프로젝트 의존성을 독립적으로 관리할 수 있게 해줍니다. 이는 서로 다른 라이브러리 요구 사항을 가진 여러 프로젝트를 작업할 때 특히 유용합니다—예를 들어, 한 프로젝트에서는 Selenium 4를 사용하고 다른 프로젝트에서는 Selenium 3를 사용하는 경우와 같습니다.

0 조회
Back to Blog

관련 글

더 보기 »

자동화 테스트용 Selenium

Selenium이란 무엇인가? Selenium은 다양한 브라우저와 플랫폼에서 웹 애플리케이션을 검증하기 위해 사용되는 무료 자동화 테스트 프레임워크입니다. 여러…