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 컨테이너 안에서 s3metadata 태그를 사용한 테스트와 경쟁 상태 검사를 실행함.

Selenoid에서 마이그레이션

  • WebSummoner는 Selenoid의 클라이언트 대면 API와 하위 호환성을 유지함.
  • 기존 selenoid:options capability 접두사를 계속 허용하며, 두 접두사가 모두 설정되면 새로운 websummoner:options가 우선함.
  • 기존 X-Selenoid-No-WaitX-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에서 확인 가능함.