Seleniumの詳細
Seleniumはウェブブラウザを制御します
Selenium は多くの側面を持ちますが、その核となるのは、利用可能な最良の技術を使用してブラウザインスタンスをリモートで制御し、ユーザーのブラウザ操作をエミュレートするウェブブラウザ自動化のためのツールセットです。
Seleniumを使用すると、ユーザーはエンドユーザーが実行する一般的なアクティビティをシミュレートできます。フィールドへのテキスト入力、ドロップダウン値の選択とチェックボックスのオンオフ、ドキュメント内のリンクのクリックなどです。また、マウスの動き、任意のJavaScriptの実行など、他の多くの制御も提供します。
Seleniumは主にウェブサイトのフロントエンドテストに使用されますが、その核となるのはブラウザのユーザーエージェントライブラリです。インターフェースはアプリケーションに普遍的であり、目的に合わせて他のライブラリとの組み合わせを促進します。
すべてを支配する単一のインターフェース
プロジェクトの指針原則の1つは、すべての(主要な)ブラウザテクノロジーに対して共通のインターフェースをサポートすることです。ウェブブラウザは非常に複雑で高度に設計されたアプリケーションであり、完全に異なる方法で動作を実行しますが、その動作はしばしば同じように見えます。テキストが同じフォントでレンダリングされ、画像が同じ場所に表示され、リンクが同じ宛先に移動する場合でも、下で起こっていることは昼と夜ほど異なります。Seleniumはこれらの違いを「抽象化」し、コードを書く人からその詳細と複雑さを隠蔽します。これにより、複雑なワークフローを実行するために数行のコードを書くだけで済みますが、これらの同じ行はFirefox、Internet Explorer、Chrome、およびその他すべてのサポートされているブラウザで実行されます。
ツールとサポート
Seleniumのミニマリストな設計アプローチにより、より大きなアプリケーションのコンポーネントとして含めることができる汎用性が得られます。Seleniumの包括的な傘下で提供される周辺インフラストラクチャは、ブラウザのグリッドを構築するためのツールを提供し、さまざまなブラウザと複数のオペレーティングシステム上で、さまざまなマシンでテストを実行できるようにします。
サーバー室またはデータセンターにあるコンピュータ群がすべて同時にブラウザを起動し、サイトのリンク、フォーム、テーブルにアクセスし、アプリケーションを24時間体制でテストすることを想像してみてください。最も一般的な言語向けに提供されるシンプルなプログラミングインターフェースを通じて、これらのテストは並行して絶え間なく実行され、エラーが発生したときに報告を返します。
ユーザーがブラウザを制御するだけでなく、そのようなグリッドを簡単に拡張およびデプロイできるようにするためのツールとドキュメントを提供することで、これを実現する手助けをすることが目標です。
Seleniumのユーザー
世界の最も重要な企業の多くが、ブラウザベースのテストにSeleniumを採用しており、多くの場合、他のプロプライエタリツールを含む長年の取り組みを置き換えています。人気が高まるにつれて、その要件と課題も増えています。
ウェブがより複雑になり、新しいテクノロジーがウェブサイトに追加されるにつれて、可能な限りそれらに対応し続けることがこのプロジェクトの使命です。オープンソースプロジェクトであるため、このサポートは、それぞれが「本業」を持つ多くのボランティアからの寛大な時間の寄付を通じて提供されています。
プロジェクトのもう1つの使命は、より多くのボランティアがこの取り組みに参加することを奨励し、強力なコミュニティを構築して、プロジェクトが新興テクノロジーに対応し続け、機能テスト自動化のための主要なプラットフォームであり続けることができるようにすることです。