WebDriver의 내부 동작 메커니즘

Selenium에서 WebDriver 인스턴스를 생성할 때, 시스템은 대상 브라우저에 맞는 네이티브 컴포넌트가 존재하고 올바른 버전인지 확인합니다. 이후 해당 브라우저 내부에 웹 서비스(즉, 브라우저 제조사에서 제공하는 드라이버: 예컨대 IEDriver, ChromeDriver)를 시작하며, 이는 WebDriver Wire Protocol를 구현한 프로세스입니다. 이 프로토콜은 브라우저를 열고 닫으며, ...

10월 3일 06:00에 게시됨

파이썬 Selenium을 이용한 웹 브라우저 자동화

웹 브라우저 자동화의 필요성 웹 스크래핑에 익숙한 개발자라면 requests 라이브러리를 통해 웹 페이지의 소스 코드를 직접 가져오는 방식이 더 효율적이라고 생각할 수 있습니다. 하지만 실제 웹 환경은 그리 단순하지 않습니다. 일반적인 웹 스크래핑의 난관: 복잡한 안티봇 시스템: 웹사이트들은 비정상적인 접근을 막기 위해 다양한 방어 메커니즘을 사용합니다. ...

9월 18일 18:42에 게시됨

Python Selenium을 이용한 iframe 내 UI 요소 조작 및 기본 페이지 복귀

웹 애플리케이션 자동화 시나리오에서 특정 작업을 수행하려면 여러 단계를 거쳐야 하는 경우가 많습니다. 예를 들어, 메인 페이지(A)에서 특정 항목을 선택하고 '서명' 버튼을 클릭하면, 서명 관련 내용을 담은 팝업 창(B)이 나타날 수 있습니다. 이 팝업 창은 종종 iframe으로 구현되어 있어, 메인 페이지의 DOM과는 별도로 관리됩니다. 이러한 iframe 내부에 위치한 요 ...

9월 14일 01:33에 게시됨

Selenium 라우저 자동 종료 원인과 해결 방안

Selenium 브라우저가 자동으로 종료되는 이유와 해결책 Selenium으로 브라우저를 실행한 직후 창이 사라지는 현상은 자동화 초기에 자주 발생합니다. WebDriver 세션, 스크립트 생명 주기, 예외 처리, 외부 환경 등 여러 요인이 복합적으로 작용할 수 있으므로 원인별로 점검해야 합니다. 1. 스크립트 종료로 인한 세션 해제 Python 프로세스가 종료되면 WebDriver ...

8월 18일 04:48에 게시됨

데이터 드리븐 UI 자동화 테스트 프레임워크 설계 및 구현

프레임워크 개요 및 아키텍처 UI 자동화 테스트의 유지보수성과 재사용성을 높이기 위해 페이지 객체 모델(Page Object Model, POM) 패턴을 기반으로 한 데이터 드리븐(Data-Driven) 프레임워크를 구축한다. 이 구조는 테스트 로직과 페이지 요소 정의를 분리하여, UI 변경 시 스크립트 전체를 수정할 필요 없이 페이지 클래스만 수정하면 되도록 설계되었다. 주요 특징은 ...

8월 9일 09:11에 게시됨

Selenium을 활용한 동적 웹 스크래핑 기술

동적 콘텐츠 수집을 위한 Selenium 활용법 Selenium은 주로 자동화 테스트에 사용되지만, JavaScript 기반으로 동적으로 렌더링되는 웹페이지를 크롤링할 때 매우 유용한 도구입니다. 이 방식은 화면에 실제로 표시되는 내용을 그대로 추출할 수 있어, 정적인 HTML 파싱만으로는 접근하기 어려운 사이트에서도 데이터를 효과적으로 수집할 수 있습니다. 사전 준비 Chrome ...

8월 6일 21:06에 게시됨

Python 기반 Selenium 및 Unittest를 활용한 POM 패턴 자동화 테스트 프레임워크 구축

프레임워크 아키텍처 및 디렉토리 구조 UI 자동화 테스트의 유지보수성과 재사용성을 높이기 위해서는 체계적인 프레임워크 구축이 필수적입니다. 본 가이드에서는 Page Object Model(POM) 디자인 패턴을 적용하여 Selenium과 Unittest 기반의 자동화 테스트 프레임워크를 설계하는 방법을 다룹니다. 프로젝트의 표준 디렉토리 구조는 다음과 같이 구성합니다. ...

8월 6일 07:10에 게시됨

Selenium을 활용한 웹 요청, 응답 및 WebSocket 데이터 캡처

Selenium으로 웹 또는 ElectronJS/Cef 기반 애플리케이션을 테스트할 때, 특정 요소 조작 후 발생하는 네트워크 요청과 그 파라미터가 올바른지 확인해야 하는 경우가 있습니다. 이러한 필요성을 충족하기 위해 Chrome의 성능 로그를 활성화하고 driver.get_log("performance")를 사용하여 요청 정보를 확인할 수 있습니다. 이 과정에서 네트워크 관련 로그를 필터링하고, ...

8월 3일 08:10에 게시됨

전자상거래 플랫폼 UI 자동화 테스트 프레임워크 구축

프로젝트 개요 본 문서는 다목적 전자상거래 사이트인 '智选优品'의 웹 기반 UI 자동화 테스트를 위한 시스템 구현 사례를 설명합니다. 주요 핵심 카테고리로는 디지털 오피스, 패션 의류, 명품 백 등이 포함되며, 사용자 인터페이스 검증을 중심으로 로그인, 상품 탐색, 장바구니 조작, 주문 처리 등의 기능을 포괄적으로 테스트합니다. 테스트 목표 및 범위 각 페 ...

7월 31일 18:56에 게시됨

Selenium 화면 녹화 구현 방법

UI 자동화는 불안정성이 높아 실행 중단이나 테스트 실패가 자주 발생합니다. 이를 해결하기 위한 일반적인 방법은 다음과 같습니다. 상세 로그 기록 오류 발생 시 스크린샷 저장 Pytest 캐시 메커니즘(성공/실패한 케이스 기록) 자동 재시도 메커니즘(예: pytest-rerunfailures) 테스트 실행 동영상 녹화 테스트 실행 동영상 녹화는 가장 직관적인 방식으로, 실시간 조 ...

7월 17일 19:12에 게시됨