【せれにうむ】

Selenium とは?

💡 ブラウザを自在に操る自動化の古参、テスト界のスイスアーミーナイフ
📌 このページのポイント
Selenium:テストスクリプト → ブラウザ自動操作 テストスクリプト Python / Java / JS WebDriver W3C標準プロトコル ブラウザドライバ ブラウザ(自動操作) Chrome Firefox Safari Edge 自動操作の例 クリック 入力 スクロール 検証(assert)
テストスクリプトがWebDriverを通じてブラウザを自動操作する流れ
ひよこ ひよこ

Seleniumって何をするツールなの?

ペンギン先生 ペンギン先生

ブラウザを人間の代わりに自動操作してくれるツールだよ。「このボタンをクリック→フォームに入力→送信→結果を確認」みたいな一連の操作をプログラムで書いて自動実行できるんだ。

ひよこ ひよこ

どんな言語で書くの?

ペンギン先生 ペンギン先生

JavaPythonJavaScriptRubyC#など多くの言語に対応しているよ。Pythonなら「pip install selenium」してブラウザのドライバをセットアップすれば、数行のコードでブラウザを操作し始められるんだ。

ひよこ ひよこ

Playwrightとかpuppeteerとどう違うの?

ペンギン先生 ペンギン先生

Seleniumは2004年誕生の老舗で対応ブラウザプログラミング言語が最も多い。Playwrightは後発で自動待機や複数ブラウザコンテキストなど開発体験が洗練されている。新規プロジェクトではPlaywrightが増えているけど、既存資産や多言語対応ではSeleniumが根強いよ。

ひよこ ひよこ

テスト以外にも使えるの?

ペンギン先生 ペンギン先生

Webスクレイピング、定型的なWeb操作の自動化、スクリーンショットの自動撮影なんかにも使われるよ。ただしスクレイピングはサイトの利用規約を確認してから使ってね。

ひよこ ひよこ

Selenium Gridって何?

ペンギン先生 ペンギン先生

テストを複数のマシンやブラウザで同時に並列実行するための仕組みだよ。たとえば「Chrome・Firefox・Edgeで同じテストを一斉に走らせる」みたいなことができる。Dockerと組み合わせてKubernetes上にGridを構築するのが今のトレンドだね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Selenium」って出てきたら「Webブラウザを自動操作するテスト・自動化ツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Selenium」 = セレン(化学元素)
💬 当時のライバル製品「Mercury(水銀)」に対抗して、水銀の毒を中和するセレンという元素から名付けられたジョークが由来だよ
← 用語集にもどる