序文
1999年、ケント・ベックは『Extreme Programming Explained』を書いた。これによってエクストリーム・プログラミング(XP)が世界に紹介された。多くの人にとって、これがアジャイルソフトウェア開発について初めて耳にした方法だった。その後20年の間に、この本の背後にあるアイデアの多くは色あせていったが、1つだけ残ったアイデアがあった。XPは、これらのテストをアプリのロジックの前に書くことを期待し、テスト駆動開発(TDD)につながった。
今日、厳密なTDDが実践されることはめったにないが、書き方の練習という考え方は広まっている(しかし、いつも人気があるとは限らない!)。今ではほとんどの会社が、何らかの自動テストの必要性を認めている。私たちの多くは、実際にテストを書いている!通常の」QAの役割でさえ、今ではコードを書くことを頻繁に要求される。
2004年、ジェイソン・ハギンズは、アジャイル開発を特殊化したThoughtworksというソフトウェア開発コンサルタント会社でSeleniumを始めた。従業員はXPに精通し、TDDの熱心な推進者だった。当初から、Seleniumはテストと密接な関係があった。
当時、ブラウザでWebサイトをテストするのは比較的簡単だった。数十種類のブラウザから選ぶことができ、JSのスペルはまだ "JavaScript "だった時代だ。サイトは小さく、機能は限られており、ブラウザを介してユーザができる対話も限られていた:フォームに入力して "submit "ボタンをクリックするだけかもしれない。これはSeleniumが生まれた世界であり、Seleniumが提供するAPIと機能は、Seleniumがテストするプラットフォームと同じくらい集中していた。
その後、世界中がインターネット・エクスプローラーにXMLHttpRequestが隠されていることを発見し、Firefoxにも実装され、突然「ウェブ2.0」がホットな新しいバズワードとなった。Google Mapsはブラウザができることを世界に示し、世界はそれを気に入った!Webサイトは、慎重に手作りされたJSによって、より多くの機能を提供し始めた。Seleniumも適応し、進化した。私はWebDriver APIを書き、これらが前面に出てきた。このAPIは、人々を一定の方向に導くことを目的としていたが、Seleniumが自動化しようとしていることの根底にある複雑さは、Seleniumがより複雑なツールになることを意味していた。
これを書いている今、ブラウザはかつてないほど高性能で、強力で、柔軟になっている。我々はもはや「Webサイト」を書いているのではない。私たちが書くのは「Webアプリ」であり、現在の究極の表現は「シングルページアプリ」またはSPAである。これらはこれまで以上にブラウザを追い込むが、それは自然な進化だ。幸いなことに、再びSeleniumは進化し、これらの種類のアプリを自動化できるように成長し、Selenium 4で新しいテストのニーズに対応するためのさまざまな新機能を追加した。この機能を追加することで、Seleniumはさらに複雑なツールになった。
しかし、年々複雑になっているにもかかわらず、Seleniumはあらゆるレベルのプログラミングの快適さと能力を持つ人々に使われているツールである。成功するSeleniumテストを書くためには、APIを「単に」学ぶ以上のことがある。使用できるテストフレームワークから、テストを書くときに従う(そして従うべき!)デザインパターン、テストに必要なバイナリの依存関係を管理する方法まで、Selenium ...
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