【せれにうむ】

Selenium とは?

最終更新:
💡 ブラウザを自在に操る自動化の古参、2004年生まれのテスト職人

Webブラウザの操作を自動化するオープンソースのツール群。E2Eテストの自動化などに使われ、Chrome・Firefox・Safari・Edgeなどの主要ブラウザを、W3C標準のWebDriverを通じて操作できる。

📌 このページのポイント
Selenium:テストスクリプト → ブラウザ自動操作 テストスクリプト Java / Python / JS など WebDriver W3C標準プロトコル ブラウザドライバ ブラウザ(自動操作) Chrome Firefox Safari Edge 自動操作の例 クリック 入力 スクロール 検証(assert)
テストスクリプトがWebDriverを通じてブラウザを自動操作する流れ
ひよこ ひよこ
Seleniumって何をするツールなの?
ペンギン先生 ペンギン先生
ブラウザを人間の代わりに自動操作してくれるツールだよ。「このボタンをクリック→フォームに入力→送信→結果を確認」みたいな一連の操作をプログラムで書いて自動実行できるんだ
ひよこ ひよこ
どんな言語で書くの?
ペンギン先生 ペンギン先生
公式にはJava・Python・C#・Ruby・JavaScriptに対応していて、KotlinならJava用のライブラリを使うよ。Pythonなら「pip install selenium」でライブラリを入れれば、Selenium 4.6以降は必要なドライバをSelenium Managerが自動で用意してくれるから、数行のコードでブラウザを動かし始められるんだ
ひよこ ひよこ
Playwrightとかとどう違うの?
ペンギン先生 ペンギン先生
Seleniumは2004年に始まった歴史の長いプロジェクトで、W3C標準のWebDriverを通じて各ブラウザのドライバを操作するのが特徴だよ。Playwrightは後発で、操作の前に要素がクリックできる状態になるまで自動で待つ仕組みなどを最初から備えている。新しく始めるなら両方を試して、チームの言語や既存のテスト資産に合うほうを選ぶといいね
ひよこ ひよこ
テスト以外にも使えるの?
ペンギン先生 ペンギン先生
定型的なWeb操作の自動化や、画面のスクリーンショットを撮る作業などにも使われるよ。ただしWebサイトから情報を集める用途に使うなら、サイトの利用規約や負荷のかけ方には気をつけてね
ひよこ ひよこ
Selenium Gridって何?
ペンギン先生 ペンギン先生
テストの命令をリモートのマシンにあるブラウザへ振り分けて実行する仕組みだよ。公式ドキュメントでは、複数のマシンでの並列実行、異なるバージョンのブラウザでのテスト、異なるOSをまたいだテストを簡単にすることが目的とされているんだ。たとえば同じテストをChrome・Firefox・Edgeで同時に走らせられるよ
もっと詳しく知りたい人へ

昔の記事にある「ChromeDriverを自分でダウンロードして配置する」手順は今も必要なの?

多くの場合は不要です。Selenium 4.6以降にはSelenium Managerが同梱されていて、必要なドライバが見つからないときに自動で探し、ダウンロードしてキャッシュします。ネットワークの制限がある環境などで手動管理したい場合は、従来どおり自分でドライバを用意することもできます。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Selenium」って出てきたら「Webブラウザを自動操作するテスト・自動化ツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Selenium」 = セレン(化学元素)
💬 英語で化学元素のセレンのことだよ。名前を選んだ経緯は、公式サイトの歴史のページには書かれていないんだ

参考資料

← 用語集にもどる