WebDriver, BiDi, Appium을 통해 브라우저와 모바일 앱의 E2E·유닛·컴포넌트 테스트를 지원하는 Node.js 테스트 자동화 프레임워크입니다.
stevepryde/thirtyfour
웹사이트의 자동화된 UI 테스트를 작성하기 위한 Rust용 Selenium WebDriver 클라이언트 라이브러리입니다.
- 스타
- 1,443
- 포크
- 102
- 열린 이슈
- 1
- 마지막 커밋
- 18일 전
어떤 프로젝트인가요?
thirtyfour는 웹 애플리케이션의 자동화된 엔드투엔드 테스트를 위한 Rust 클라이언트로, Selenium / W3C WebDriver 프로토콜을 지원합니다. chromedriver 같은 드라이버를 통해 브라우저 세션을 직접 시작하거나 Selenium Standalone 또는 Grid를 이용할 수 있습니다.
이 라이브러리는 test ID, id, class, CSS, tag, XPath 등의 선택자로 요소 찾기, 키와 키 조합 전송, JavaScript 실행, 액션 체인, 쿠키, 프레임·창·알림 전환, shadow DOM, PNG 스크린샷 등 WebDriver의 일반적인 기능을 제공합니다. 쿼리 인터페이스는 명시적 대기와 조건자를 지원하며, 컴포넌트 래퍼를 사용하면 page object 스타일로 테스트를 구성할 수 있습니다. 브라우저 테스트 러너는 오류나 패닉 발생 시 비동기 정리를 시도합니다.
선택적 feature flag를 사용하면 타입이 지정된 Chrome DevTools Protocol 명령, WebSocket 기반 CDP 이벤트 구독, 크로스 브라우저 WebDriver BiDi 지원을 추가할 수 있습니다. 이 크레이트는 MIT 또는 Apache 2.0 라이선스를 적용하며 Rust 1.88 이상이 필요합니다.
핵심 기능
- 01모든 W3C WebDriver 및 WebElement 메서드를 지원합니다.
- 02test ID, id, class, CSS, tag, XPath 선택자로 요소를 찾습니다.
- 03명시적 대기를 지원하는 쿼리 인터페이스와 page object용 컴포넌트 래퍼를 제공합니다.
- 04타입이 지정된 Chrome DevTools Protocol 명령과 선택적 CDP 이벤트 구독을 지원합니다.
- 05선택적 feature flag를 통해 크로스 브라우저 WebDriver BiDi를 지원합니다.
- 06전체 브라우저 또는 개별 요소를 PNG로 스크린샷 촬영합니다.
활용 사례
- Rust로 작성된 웹 애플리케이션의 엔드투엔드 UI 테스트
- 기존 Selenium 자동화 스크립트를 Rust 코드베이스로 포팅
- Chrome DevTools 기능에 타입이 지정된 방식으로 접근해야 하는 브라우저 워크플로 자동화
빠른 시작
- 1
Rust 프로젝트에 thirtyfour를 종속성으로 추가합니다(cargo add thirtyfour).
- 2
chromedriver와 같은 WebDriver 서버를 시작한 다음 async 예제를 실행합니다.
cargo run --example tokio_async
사용 전 알아둘 점
- 테스트를 실행하려면 실행 중인 WebDriver 서버 또는 chromedriver와 같은 브라우저 드라이버가 필요합니다.
- 메타데이터에는 라이선스가 NOASSERTION으로 표시되어 있지만, README에는 MIT 또는 Apache 2.0 듀얼 라이선스라고 나와 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- thirtyfour은(는) 무엇인가요?
- 웹사이트의 자동화된 UI 테스트를 작성하기 위한 Rust용 Selenium WebDriver 클라이언트 라이브러리입니다. thirtyfour는 웹 애플리케이션의 자동화된 엔드투엔드 테스트를 위한 Rust 클라이언트로, Selenium / W3C WebDriver 프로토콜을 지원합니다. chromedriver 같은 드라이버를 통해 브라우저 세션을 직접 시작하거나 Selenium Standalone 또는 Grid를 이용할 수 있습니다.
- thirtyfour은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- thirtyfour은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- thirtyfour은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. thirtyfour의 마지막 커밋은 2026년 10월 21일입니다.
- thirtyfour은(는) 어디에 사용할 수 있나요?
- Rust로 작성된 웹 애플리케이션의 엔드투엔드 UI 테스트 기존 Selenium 자동화 스크립트를 Rust 코드베이스로 포팅 Chrome DevTools 기능에 타입이 지정된 방식으로 접근해야 하는 브라우저 워크플로 자동화
- thirtyfour는 어떻게 설치하나요?
- Rust 프로젝트에 thirtyfour를 종속성으로 추가합니다(cargo add thirtyfour). chromedriver와 같은 WebDriver 서버를 시작한 다음 async 예제를 실행합니다.: cargo run --example tokio_async
- thirtyfour은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/stevepryde/thirtyfour
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Python 코드에서 ChromeDriver와 GeckoDriver 같은 Selenium 브라우저 드라이버 바이너리를 다운로드하고 캐시한 뒤 경로를 확인하는 라이브러리입니다.
웹 자동화와 스크래핑을 위해 DevTools Protocol로 Chrome을 제어하는 Go 라이브러리로, 자동 대기와 브라우저 다운로드를 지원합니다.
Playwright는 단일 API로 Chromium, Firefox, WebKit을 제어하는 웹 테스트 및 자동화 프레임워크입니다.
여러 엔진에서 읽기 쉬운 사용자 관점의 단계로 브라우저 및 모바일 테스트를 작성할 수 있는 JavaScript E2E 테스트 프레임워크입니다.
axe-core 엔진을 CLI 도구, 브라우저 자동화 프레임워크, React 및 WebDriver 테스트에 연동하는 npm 패키지 모음입니다.