Selenium
概要
Seleniumとは、Webアプリケーションのテストを自動化するツールの一つ。人がWebブラウザで操作する代わりに指定された挙動を実行し、Web上のプログラムの動作検証を行う枠組みを提供する。“selenium” とは原子番号34の元素、セレン(元素記号はSe/日本語のセレンは独語由来)のこと。テストの作成は、Webブラウザを用いて実際に人が操作してその様子を記録する方式と、独自のスクリプト言語(Selence)で手順を書き下す方式(自動記録でも実際にはスクリプト表現に変換されて保存される)、一般的なプログラミング言語でAPIを利用して記述する方式がある。
作成されたテストはWebDriverと呼ばれる制御ソフトによって再生され、各種のWebブラウザを自動制御して実際にWebアプリケーションを操作する。テスト結果は記録され、サーバからの応答など詳細を確認することができる。
Selenium Gridと呼ばれる拡張機能により、ネットワーク上の他のコンピュータを使役してテストを実行することもできる。複数のコンピュータからアクセスした際の挙動の確認や、異なる機種やOSによるテストなどを効率的に実施することができる。
ブラウザの自動制御はGoogle Chrome、Mozilla Firefox、Apple Safari、Microsoft Edge、Internet Explorerなど主要なブラウザの多くに対応する。クライアントAPIはJava、JavaScript、Python、Ruby、C#、R言語などに対応する。
2004年に米ソートワークス(ThoughtWorks)社の内部ツールとして開発され、Apacheライセンスに基づいてオープンソースソフトウェアとして公開された。2009年のSelenium 2.0でWebDriverの仕組みが追加され、Selenium Serverが必要だったSelenium 1.0とは大きく仕様が変更された。
(2020.9.30更新)