[TIL] 20240708 - Selenium

jini·2024년 7월 8일
0

TIL

목록 보기
41/48

Selenium


Selenium은 웹 테스트 자동화 도구

🧊 구성요소

Selenium Web Driver

  • 브라우저 자동화 드라이버

  • 시중에서 많이 이용되는 여러 가지 브라우저들에 대한 라이브러리 제공

Selenium IDE

  • 웹-사용자 상호작용을 기록(녹화) 하고 재생하여 테스트 자동화에 활용

  • Chrome 및 Firefox의 extension으로 설치 및 이용

Selenium Grid

  • 분산 환경을 구성하여 hub가 요청을 수신, node 들에 테스트 수행을 분배하고 결과 수집

  • WebDriver 스크립트를 다수의 테스트 머신에 병렬 적용하여 테스트를 가속하고 효율화


🧊 실습

Docker를 이용해 Selenium standalone (hub + node)을 실행

  • 이미지 : selenium/standalone-chrome
  • 서비스 노출 포트 : 4444

Python 테스트 클라이언트로 테스트 실행

  • Selenium python 라이브러리 설치
  • 간단한 테스트 코드 작성
  • Docker에서 실행 중인 Selenium WebDriver에 연결하여 테스트 실행
  • 브라우저 콘솔을 통해서 시각적 확인

🧊 Selenium Docker Image

Chrome 대상의 standalone 이미지

  • selenium/standalone-chrome

  • ARM 기반의 환경에서 실행할 수 있는 대체 이미지 : seleniarm/standalone-chromium

docker run -d --rm -p 4444:4444 -v /dev/shm:/dev/shm seleniarm/standalone-chromium

🧊 Python 라이브러리 설치

https://selenium.dev/documentation/webdriver/getting_started/install_library

pip install selenium
  • selenium 버전 확인
import selenium 
selenium.__version__ 

🧊 E2E 테스트

종단간 테스트(end-to-end test)

  • 개발물의 안쪽은 들어가지 않고 입력으로부터 출력까지를 클라이언트 관점에서 테스트

  • UI와 코어 로직의 연결 및 동작 검증

0개의 댓글