![illustration by iwasawa](http://cz-cdn.shoeisha.jp/static/images/article/10225/10223_001.gif)
これまでのSelenium
さて、最新事情に触れる前に、本記事をご覧の皆様は既によくご存知かとは思いますが、あらためてSeleniumとは何か、そして現在の形に至るまでの道をおさらいしておきましょう。
Seleniumは、Webブラウザの自動操作ライブラリです。人間がWebブラウザでやるような手作業を、自動的に再現できます。単純作業の自動化に利用できるほか、一般的な自動テストフレームワークと組み合わせることでEnd to End(E2E)テストの自動化を実現できます。Webアプリケーションのテスト作業で苦労されている方にとっては福音のようなライブラリですが、自動テストコードや実行環境の維持・実行時間などが大がかりになりがちで、利用コストは高めです。回帰テストの自動化など、繰り返し利用が多い用途への適用が特に効果的でしょう。
Seleniumの最初のバージョンは2004年に開発されましたが、アーキテクチャは現在に至るまでに大きく変わっていて、最新のバージョンではまったくの別物になっています。最初のバージョンは「Selenium Core」と呼ばれ、Selenium 1(Selenium RC)の中核技術となりました。その後2011年に発表されたSelenium 2では、Googleにより開発されたもうひとつの中核技術「WebDriver」が、Selenium Coreと併用可能な形で取り込まれました。
Selenium 2の次期バージョンについては長年のさまざまな構想がありましたが、一時は次期バージョンに統合される動きもあったモバイルアプリ向けの「Appium」はSeleniumから独立し、中核技術のうちSelenium Coreを切り離してWebDriverにのみ対応したバージョンが2016年にSelenium 3として発表されました。
![Selenium1 → Selenium2 → Selenium3](http://cz-cdn.shoeisha.jp/static/images/article/10225/102205_01.gif)