Skip to Content
JavaによるSelenium WebDriverのハンズオン
book

JavaによるSelenium WebDriverのハンズオン

by Boni Garcia
March 2025
Intermediate to advanced
422 pages
6h 59m
Japanese
O'Reilly Media, Inc.
Content preview from JavaによるSelenium WebDriverのハンズオン

付録B. ドライバー管理

第1章で述べたように、ドライバー管理には、ダウンロード、セットアップ、メンテナンスの3つのステップがある。手作業によるドライバー管理は、労力の点でコストがかかり、保守性に関して問題がある可能性がある。このため、本書のすべての例では、WebDriverManager を使用して、このプロセスを自動化し、自動維持する。完全性を期すため、この付録では、手動ドライバ管理における関係するステップ(ダウンロード、セットアップ、メンテナンス)についても説明する。

WebDriverManager:自動ドライバー管理

WebDriverManagerは、オープンソースのJava ライブラリであり、Selenium WebDriverに必要なドライバ(chromedriver、 geckodriver、msedgedriverなど)を自動化された方法で管理する。WebDriverManager は、Chrome、Firefox、Edge、Opera、Chromium、Internet Explorer という異なるブラウザ用のマネージャセットを提供する。

WebDriverManagerは内部的に解決アルゴリズムを実行し、各ブラウザが必要とするドライバを管理する。このアルゴリズムは、これらのドライバーを自動的に発見し、ダウンロードし、セットアップし、維持することを目的としている。

図 B-1は、WebDriverManager が実装する手法の文脈で、このアルゴリズムを表している。各マネージャー(例:chromedriver()firefoxdriver() など)に対して、解決アルゴリズムは以下のように動作する:

  1. WebDriverManagerは、ローカルマシンにインストールされているブラウザのバージョン(例えばChrome)を発見しようとする。そのために、、コマンド・データベースと呼ばれる内部知識データベースを使用する。このデータベースには、ブラウザのバージョン(例:Linuxのgoogle-chrome --version )を発見できるシェルコマンド(オペレーティングシステムの違い)のリストが含まれている。

  2. 発見されたメジャー・ブラウザ・バージョン(例:Chrome 89)を使用して、WebDriverManagerは正しいドライバ・バージョン(例:chromedriver 89.0.4389.23)を決定する。このプロセスをバージョン解決と呼び出す。このプロセスを容易にするために、いくつかのドライバメンテナ(すなわち、chromedriverとmsedgedriver)は、単純なテキストファイル(例えば、https://chromedriver.storage.googleapis.com/LATEST_RELEASE_89)を使用して、オンラインリポジトリで特定のドライババージョンを公開している。残念ながら、この情報は、geckodriverやoperadriverのような他のドライバでは利用できない。このため、WebDriverManagerは、ブラウザとドライバのバージョン間の関連付けを保持するために、別の内部知識データベース(バージョンデータベースと呼ばれる)を使用する。バージョン・データベースとコマンド・データベースの両方が、GitHubに保存されたオンライン・マスター・リファレンスを使って値を同期している。

  3. WebDriverManagerは、ローカルオペレーティングシステム(Windows、Linux、またはmacOS)用の特定のドライバをダウンロードし、 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

データサイエンスのための実践線形代数

データサイエンスのための実践線形代数

Mike X Cohen
サイトリライアビリティワークブック ―SREの実践方法

サイトリライアビリティワークブック ―SREの実践方法

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司
エンジニアが学ぶ会計システムの「知識」と「技術」

エンジニアが学ぶ会計システムの「知識」と「技術」

広川 敬祐, 五島 伸二, 小田 恭彦, 大塚 晃, 川勝 健司

Publisher Resources

ISBN: 9798341626287