Selenium Manager のご紹介
カテゴリー
ほとんどの人の Selenium の最初の経験は、このようなエラーメッセージで終わります
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver
system property; for more information, see https://chromedriver.chromium.org/. The latest version can be
downloaded from https://chromedriver.chromium.org/downloads
そして、ダウンロードしたドライバをどうすればよいかの説明をウェブで検索する必要があります。
Selenium:バッテリー搭載!
Selenium プロジェクトはユーザーエクスペリエンスを向上させたいと考えており、最初のステップの1つは、すべてのユーザーが環境設定を簡素化できるように支援することです。ブラウザドライバの設定は、Selenium を実行するための動作環境をユーザーが用意するために長年必要とされてきたタスクです。
ブラウザドライバを一度設定するのはそれほど複雑ではありませんが、ブラウザのリリースサイクルが短縮され、現在では 4〜6 週間ごとに Chrome/Firefox/Edge の新しいバージョンが登場するため、ブラウザドライバをブラウザのバージョンと同期させ続ける作業はもはや簡単ではありません。
Selenium Manager は、Selenium をすぐに実行できる動作環境を構築するのに役立つ新しいツールです。Selenium Manager のベータ 1 は、Chrome、Firefox、および Edge のブラウザドライバが PATH
に存在しない場合に構成します。
Selenium 4.6 で Selenium テストを実行するには、Chrome、Firefox、または Edge がインストールされているだけで済みます。すでにブラウザドライバがインストールされている場合、この機能は無視されます。もしテストにご協力いただける場合は、ドライバを削除するか、サードパーティのドライバマネージャを削除してください。それでも「正常に動作するはず」です。もし動作しない場合は、バグレポートを提出してください。
Selenium Manager の将来のリリースでは、必要に応じてブラウザもダウンロードできるようになります。
オープンソースと Selenium コミュニティに触発されて
Selenium Manager は完全に新しいソリューションではありません。長年にわたり、Selenium エコシステムでいくつかのサードパーティプロジェクトが登場しました。例:WebDriverManager (Java 用)、webdriver-manager (Python 用)、webdrivers (Ruby 用)、および WebDriverManager.Net (C# 用)。
これらのプロジェクトはすべて、インスピレーションとして、そしてコミュニティがこの機能を Selenium に組み込む必要性を明確に示す兆候として役立ちました。さらに、2021年1月に行われたアンケート調査では、ほとんどの Selenium ユーザーがドライバ管理の問題から解放されたいと考えていることが示されました。さらに、ドライバのインストールページが Selenium ドキュメントの中で最もアクセス数の多いページの1つであるという事実もあります。
Selenium Manager の詳細
Selenium Manager は、クロスプラットフォーム実行を可能にするために Rust で開発された CLI (コマンドラインインターフェース) ツールです。ベータ 1 バージョンでは、Selenium Manager は、ブラウザドライバが PATH
上で検出されない場合、またはサードパーティのドライバマネージャが使用されていない場合に、Selenium バインディングによって透過的に呼び出されます。
Selenium Manager は、Selenium バインディングなしでも使用できます。将来的には正式なリリースを計画していますが、今のところ、バイナリはSelenium リポジトリで直接見つけることができます。次のコマンドを実行して、さまざまなパラメータとオプションを確認してください
$ ./selenium-manager --help
ChromeDriver がどのように構成されるかの簡単な例を以下に示します
$ ./selenium-manager --browser chrome
INFO /home/boni/.cache/selenium/chromedriver/linux64/106.0.5249.61/chromedriver
WebDriver ベースのプロジェクトを保守しており、Selenium Manager も使用したい場合は、コミュニティチャンネルに参加してください。喜んでお手伝いさせていただきます。また、貢献に興味がある場合は、詳細な手順と情報について、プロジェクトのREADMEをご確認ください。
次のステップ
Selenium Manager はまだ開発中であり、機能が追加され、バグが各リリースとともに修正されます。ただし、Selenium コミュニティのメンバーであるあなたは、この新しいツールの将来の成功にとって重要な部分です。アイデアやバグについては、issue tracker を通じて報告し、コミュニティチャンネルを通じて会話に参加してください。フィードバックをお待ちしております!
ハッピーテスティング!