TL;DR
- WebSummoner 1.0은 최신 Go 툴체인, 현대적인 브라우저 이미지와 커뮤니티 수정 사항을 반영한 Docker 기반 Selenium 허브로, 세션 단위의 일시적 브라우저 환경을 제공함.
- 한 명령으로 설치하고
http://localhost:4444/wd/hub를 Selenium URL로 지정해 브라우저 자동화를 시작할 수 있음. - 브라우저 화면·세션 로그의 실시간 확인, H.264 영상 녹화, 로그·영상 파일 관리 API를 제공함.
- Java 기반 Selenium 서버보다 같은 부하에서 메모리를 10배 적게 사용하며, 외부 의존성이 없는 6MB 바이너리와 브라우저 리소스 사용량 API를 제공함.
- Selenoid 클라이언트 API와의 하위 호환성을 유지하지만 Kubernetes에는 적합하지 않으며, 하드웨어 서버나 가상 머신 배포를 전제로 함.
WebSummoner
- WebSummoner는 RIADVICE가 개발·유지 관리하는 Selenium 허브임.
- 최신 Go 툴체인, 현대적인 브라우저 이미지와 커뮤니티 수정 사항을 반영함.
- Docker 컨테이너 안에 브라우저 fleet을 소환하며, 환경은 세션 단위의 일시적(ephemeral) 실행 환경임.
기능
한 명령 설치
- Configuration Manager 바이너리를 내려받은 뒤
./cm websummoner start --vnc --tmpfs 128명령을 실행하면 몇 분 안에 브라우저 자동화를 시작할 수 있음. - 기존
cm selenoid하위 명령도 계속 허용됨. - Selenium 서버 대신 WebSummoner를 사용할 수 있으며, 테스트에서 Selenium URL로
http://localhost:4444/wd/hub를 지정하면 됨.
바로 사용할 수 있는 브라우저 이미지
- 브라우저를 수동으로 설치하거나 WebDriver 문서를 따로 살펴볼 필요 없이 사용 가능한 이미지가 제공됨.
- 공식 브라우저 릴리스 직후 새 이미지가 추가됨.
- 브라우저가 포함된 사용자 지정 이미지를 만들 수 있음.
실시간 브라우저 화면과 로그
- 브라우저 화면과 Selenium 세션 로그를 보여주는 새로운 고급 사용자 인터페이스가 제공됨.
영상 녹화
- 모든 브라우저 세션을 H.264 영상으로 저장할 수 있음(예시).
- 녹화된 영상 파일을 나열·다운로드·삭제하는 API가 제공됨.
편리한 로깅
- 모든 브라우저 세션 로그가 세션별 파일 하나씩으로 자동 저장됨.
- 저장된 로그 파일을 나열·다운로드·삭제하는 API가 제공됨.
가볍고 매우 빠른 실행
- 개인 사용부터 대규모 클러스터까지 적합함.
- 같은 부하에서 Java 기반 Selenium 서버보다 메모리를 10배 적게 사용함.
- 외부 의존성이 없는 6MB 바이너리로 제공되며 Java 설치가 필요하지 않음.
- 브라우저 리소스 사용량 API가 별도 설정 없이 작동함.
- 브라우저 로그를 중앙 집중식 로그 저장소(예: ELK 스택)로 전송할 수 있음.
- 완전히 격리되고 재현 가능한 환경을 제공함.
상세 문서
- 상세 문서는
docs-site/에서Astro Starlight로 빌드되며, 사용자 지정 문서 워크플로를 통해 GitHub Pages에 배포됨. - StackOverflow에 축적된 광범위한 Selenoid 커뮤니티 지식과 호환됨.
전체 가이드 및 빌드 지침
- 전체 참조 가이드와 빌드 지침은 websummoner.riadvice.com/websummoner에 있으며, 소스는
docs-site/에 있음. - 빌드에는 Docker만 필요하며 시스템에 Go를 설치할 필요가 없음.
docker run --rm -v "$PWD":/app -w /app golang:1.27-trixie go test -tags 's3 metadata' -race ./...명령으로 Docker 컨테이너 안에서s3및metadata태그를 사용한 테스트와 경쟁 상태 검사를 실행함.
Selenoid에서 마이그레이션
- WebSummoner는 Selenoid의 클라이언트 대면 API와 하위 호환성을 유지함.
- 기존
selenoid:optionscapability 접두사를 계속 허용하며, 두 접두사가 모두 설정되면 새로운websummoner:options가 우선함. - 기존
X-Selenoid-No-Wait및X-Selenoid-File헤더와/aerokube/...프록시 경로 조각도 계속 작동함. - Docker 이미지 내부에서 설정 파일 경로가
/etc/selenoid/browsers.json에서/etc/websummoner/browsers.json으로 변경됨. -conf플래그나 자체 entrypoint로 경로를 재정의할 수 있음.
Kubernetes에서의 WebSummoner
- WebSummoner는 하드웨어 서버나 가상 머신에 배포하도록 처음 만들어졌으며 Kubernetes에는 적합하지 않음.
알려진 사용자
- WebSummoner는 스타트업부터 Fortune 500 기업까지 전 세계 엔지니어링 팀의 브라우저 자동화를 실행함.
- 호환되는 이전 제품을 위해 구축된 워크플로는 변경 없이 이어짐.
라이선스
- Apache 2.0 라이선스이며 자세한 내용은 LICENSE에서 확인 가능함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요