WebDriver의 내부 동작 메커니즘
Selenium에서 WebDriver 인스턴스를 생성할 때, 시스템은 대상 브라우저에 맞는 네이티브 컴포넌트가 존재하고 올바른 버전인지 확인합니다. 이후 해당 브라우저 내부에 웹 서비스(즉, 브라우저 제조사에서 제공하는 드라이버: 예컨대 IEDriver, ChromeDriver)를 시작하며, 이는 WebDriver Wire Protocol를 구현한 프로세스입니다. 이 프로토콜은 브라우저를 열고 닫으며, ...
10월 3일 06:00에 게시됨
Python Selenium을 이용한 iframe 내 UI 요소 조작 및 기본 페이지 복귀
웹 애플리케이션 자동화 시나리오에서 특정 작업을 수행하려면 여러 단계를 거쳐야 하는 경우가 많습니다. 예를 들어, 메인 페이지(A)에서 특정 항목을 선택하고 '서명' 버튼을 클릭하면, 서명 관련 내용을 담은 팝업 창(B)이 나타날 수 있습니다. 이 팝업 창은 종종 iframe으로 구현되어 있어, 메인 페이지의 DOM과는 별도로 관리됩니다.
이러한 iframe 내부에 위치한 요 ...
9월 14일 01:33에 게시됨
Selenium 라우저 자동 종료 원인과 해결 방안
Selenium 브라우저가 자동으로 종료되는 이유와 해결책
Selenium으로 브라우저를 실행한 직후 창이 사라지는 현상은 자동화 초기에 자주 발생합니다. WebDriver 세션, 스크립트 생명 주기, 예외 처리, 외부 환경 등 여러 요인이 복합적으로 작용할 수 있으므로 원인별로 점검해야 합니다.
1. 스크립트 종료로 인한 세션 해제
Python 프로세스가 종료되면 WebDriver ...
8월 18일 04:48에 게시됨
Grunt 기반 Protractor 테스트 자동화 실행기 완벽 가이드
1. 프로젝트 디렉터리 구조 분석
다음은 grunt-protractor-runner 프로젝트의 디렉터리 구조입니다.
grunt-protractor-runner/
├── scripts/
│ └── webdriver-manager-update
├── tasks/
│ └── protractor.js
├── test/
│ └── protractor/
│ └── conf.js
├── .gitignore
├── .jshintrc
├── .travis.yml
├── Gruntfile.js
├── LICENSE-MIT
├── README.md
└── pa ...
7월 30일 20:42에 게시됨
Selenium 화면 녹화 구현 방법
UI 자동화는 불안정성이 높아 실행 중단이나 테스트 실패가 자주 발생합니다. 이를 해결하기 위한 일반적인 방법은 다음과 같습니다.
상세 로그 기록
오류 발생 시 스크린샷 저장
Pytest 캐시 메커니즘(성공/실패한 케이스 기록)
자동 재시도 메커니즘(예: pytest-rerunfailures)
테스트 실행 동영상 녹화
테스트 실행 동영상 녹화는 가장 직관적인 방식으로, 실시간 조 ...
7월 17일 19:12에 게시됨
Selenium WebDriver 환경 구성 중 발생하는 주요 오류 및 해결 방법
1. Firefox (GeckoDriver) 관련 이슈
Firefox 바이너리 경로 인식 실패
Firefox가 기본 경로가 아닌 다른 디렉토리에 설치된 경우 Cannot find firefox binary in PATH 오류가 발생할 수 있습니다. 시스템이 실행 파일을 찾을 수 있도록 수동으로 경로를 지정해야 합니다.
// Firefox 실행 파일의 절대 경로를 설정합니다.
System.setProperty("webdriver.firefox.bin", ...
7월 12일 00:45에 게시됨
Java 기반 Selenium을 이용한 웹 자동화 테스트 구현
환경 준비
개발 언어: Java
JDK 버전: 17
Maven 버전: 3.6.1
기능 개요
본 예제는 Java에서 Selenium을 사용하여 간단한 웹 자동화 작업을 수행하는 방법을 설명합니다. 주요 동작은 다음과 같습니다:
Chrome 브라우저를 시작하고 특정 웹 페이지에 접속
입력 필드에 텍스트 입력
제출 버튼 클릭
결과 메시지 확인 후 브라우저 종료
프로젝트 구성
pom.xml 설정
<?x ...
7월 1일 16:40에 게시됨
오픈소스 자동화 도구로 .edu 메일 계정 즉시 생성하기
교육 기관 전용 이메일 계정은 다양한 학생 혜택을 누릴 수 있는 통행증 역할을 한다. 수동으로 신청하려면 복잡한 절차와 긴 대기 시간이 필요하지만, 자동화 스크립트를 활용하면 이 과정을 극적으로 단축할 수 있다. 본 문서에서는 Python 기반 오픈소스 솔루션을 활용해 OpenCCC(캘리포니아 커뮤니티 칼리지 시스템) 가입 절차를 자동화하는 방법을 상세히 다룬다.
도 ...
6월 28일 23:28에 게시됨
Appium을 활용한 모바일 앱 자동화 테스트 전략
모바일 앱 품질 보장을 위한 Appium의 역할
지속적인 배포와 빠른 개발 사이클이 표준이 된 오늘날, 수동 테스트만으로는 모바일 애플리케이션의 품질을 효율적으로 확보하기 어렵습니다. 이에 대한 해결책으로 주목받는 것이 오픈소스 자동화 프레임워크인 Appium입니다. 본 문서에서는 Appium 기반의 안드로이드 앱 테스트 구현 방법과 실무 적용 포인트를 다룹니다.
기 ...
6월 27일 18:02에 게시됨
Python 실습 문제 모음
문제 1: 문자열 포맷팅과 템플릿 렌더링
함수를 작성하여 XPath 표현식을 동적으로 생성하고, HTML 템플릿에 변수를 삽입하여 파일로 저장하는 연습입니다.
요구사항
입력받은 스트를 XPath 표현식 //*[text()='입력값'] 형태로 반환하는 함수 작성
다음 변수들을 HTML 템플릿에 삽입하여 output.html 파일로 저장 (UTF-8 인코딩)
page_title = "테스트 보고서"
report ...
6월 26일 17:56에 게시됨