WebDriver、BiDi、Appiumを通じて、ブラウザーやモバイルアプリのE2E・ユニット・コンポーネントテストを自動化するNode.jsテストフレームワーク。
stevepryde/thirtyfour
Webサイトの自動UIテストに使える、Rust向けSelenium WebDriverクライアントライブラリ。
- スター
- 1,443
- フォーク
- 102
- 未解決の Issue
- 1
- 最終コミット
- 17 日前
これは何?
thirtyfourは、Webアプリケーションの自動エンドツーエンドテストを目的とした、Selenium / W3C WebDriverプロトコル用のRustクライアントです。chromedriverなどのドライバーを介してブラウザーセッションを直接開始できるほか、Selenium StandaloneやGrid経由でも利用できます。
test ID、id、class、CSS、タグ、XPathなどのセレクターによる要素検索、キーやキーの組み合わせの送信、JavaScriptの実行、アクションチェーン、Cookie、フレーム・ウィンドウ・アラートの切り替え、shadow DOM、PNGスクリーンショットなど、WebDriverの一般的な機能を備えています。クエリーインターフェースでは明示的な待機や条件判定を利用でき、コンポーネントラッパーを使ってPage Object形式でテストを構成できます。ブラウザーテストランナーは、エラーやパニック発生時に非同期でのクリーンアップを試みます。
オプションのfeature flagを有効にすると、型付きのChrome DevTools Protocolコマンド、WebSocketベースのCDPイベント購読、クロスブラウザー対応のWebDriver BiDiを利用できます。このcrateはMITまたはApache 2.0のデュアルライセンスで提供され、Rust 1.88以降が必要です。
主な機能
- 01W3C WebDriverとWebElementのすべてのメソッドに対応。
- 02test ID、id、class、CSS、タグ、XPathセレクターで要素を検索。
- 03明示的な待機に対応したクエリーインターフェースと、Page Object向けのコンポーネントラッパーを提供。
- 04型付きのChrome DevTools Protocolコマンドと、オプションのCDPイベント購読を利用可能。
- 05オプトインのfeature flagにより、クロスブラウザー対応のWebDriver BiDiをサポート。
- 06ブラウザー全体または個々の要素をPNGでスクリーンショット撮影。
ユースケース
- Rustで書かれたWebアプリケーションのエンドツーエンド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 とは?
- Webサイトの自動UIテストに使える、Rust向けSelenium WebDriverクライアントライブラリ。 thirtyfourは、Webアプリケーションの自動エンドツーエンドテストを目的とした、Selenium / W3C WebDriverプロトコル用のRustクライアントです。chromedriverなどのドライバーを介してブラウザーセッションを直接開始できるほか、Selenium StandaloneやGrid経由でも利用できます。
- thirtyfour は無料で使えますか?ライセンスは?
- thirtyfour は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- thirtyfour は今もメンテナンスされていますか?
- 活発にメンテナンス中。thirtyfour の最終コミットは 2026年10月21日 です。
- thirtyfour は何に使えますか?
- Rustで書かれたWebアプリケーションのエンドツーエンド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用ブラウザドライバーをダウンロード、キャッシュし、パスを取得できるライブラリ。
Web自動化やスクレイピング向けに、DevTools Protocol経由でChromeを操作するGoライブラリ。自動待機やブラウザのダウンロードに対応。
Playwrightは、単一のAPIでChromium、Firefox、WebKitを操作するWebテスト・自動化フレームワークです。
複数のエンジンでブラウザやモバイルのテストを、ユーザー視点の読みやすいステップで記述できるJavaScript製E2Eテストフレームワークです。
axe-coreのアクセシビリティエンジンをCLIツール、ブラウザー自動化フレームワーク、React、WebDriverのテストスイートに組み込むnpmパッケージ群です。