混乱は、1つのページにこれらすべての用語の明確な説明がどこにも存在しないという事実が主な原因であり、この情報のギャップを埋めようとします。
セレン
Seleniumは、一連のオープンソースソフトウェア製品を開発するプロジェクトです 。
- Selenium WebDriver、
- セレンRC、
- セレンサーバー
- セレングリッド、
- Selenium IDE。
単にセレンという言葉をこれらの5つの製品のいずれかと呼ぶのは一般的に間違っていますが、これは、どの製品が議論されているかという文脈から明らかな場合、または一度に、または一度に複数の製品の問題である場合によく行われます。
Selenium WebDriver
Selenium WebDriverは、ブラウザを管理するためのソフトウェアライブラリです 。 短い名前のWebDriverもよく使用されます。
これは「ブラウザードライバー」と言われることもありますが、実際には、さまざまなブラウザー用のドライバーのファミリー全体であり、これらのドライバーを操作できるさまざまな言語のクライアントライブラリのセットです。
これは、Seleniumプロジェクトの一部として開発されている主な製品です。
Selenium WebDriverはSelenium 2.0とも呼ばれます。この理由は以下で説明します。
既に述べたように、WebDriverはさまざまなブラウザー用のドライバーファミリーであり、さまざまなプログラミング言語のこれらのドライバー用のクライアントライブラリのセットです。
Seleniumプロジェクトの一環として、Firefox、Internet Explorer、Safariブラウザー用のドライバーと、AndroidおよびiOSモバイルブラウザー用のドライバーが開発されています。 Google ChromeブラウザーのドライバーはChromiumプロジェクトの一部として開発されており、Operaブラウザーのドライバー(モバイル版を含む)はOpera Softwareによって開発されています。 したがって、これらは正式にはSeleniumプロジェクトの一部ではなく、独立して配布およびサポートされます。 しかし、論理的にはもちろん、それらはSelenium製品ファミリーの一部と見なすことができます。
クライアントライブラリの場合も同様です。Seleniumプロジェクトのフレームワーク内で、ライブラリはJava、.Net(C#)、Python、Ruby、JavaScriptの言語用に開発されています。 他のすべての実装はSeleniumプロジェクトとは関係ありませんが、おそらく将来的にはこのプロジェクトに参加するかもしれません。
セレンrc
Selenium RCは、ブラウザ管理ライブラリの以前のバージョンです 。 この製品の名前の頭字語RCは、リモートコントロールを表します。つまり、「リモート」ブラウザコントロール用のツールです。
機能的な観点から見ると、このバージョンはWebDriverよりもかなり劣っています。 現在、それは休止状態にあり、開発されておらず、既知のバグでさえ修正されていません。 また、Selenium RCの制限がある場合は、WebDriverに切り替えることをお勧めします。
Selenium RCはSelenium 1.0と呼ばれることもありますが、WebDriverはSelenium 2.0と呼ばれることもあります。 実際、ディストリビューションバージョン2.0には、両方の実装が同時に含まれています(Selenium RCとWebDriverの両方)。 ただし、バージョン3.0がリリースされると、WebDriverのみが残ります。
技術的な観点から見ると、WebDriverはSelenium RCの進化的開発の結果ではなく、まったく異なる原則に基づいて構築されており、実際には共通のコードはありません。 それらを結び付けるのは、両方の実装がSeleniumプロジェクトの一部として作成されたという事実です。 まあ、正確には、WebDriverは最初は独立したプロジェクトでしたが、2008年には合併があり、現在WebDriverはSeleniumプロジェクト開発の主要なベクターです。
Seleniumサーバー
Selenium Serverは、ネットワークを介してリモートマシンからブラウザを制御できるサーバーです 。 まず、ブラウザが動作するマシンに、サーバーがインストールされ起動されます。 次に、別のマシン(もちろん技術的には同じマシン)で、特別なRemoteWebDriverドライバーを使用してサーバーに接続してコマンドを送信するプログラムが起動されます。 次に、彼はブラウザーを起動し、このブラウザーに対応するドライバーを使用して、ブラウザーでこれらのコマンドを実行します。
Selenium Serverは、新しいバージョン(WebDriver)と古いバージョン(Selenium RC)の2つのコマンドセットを同時にサポートします。
セレングリッド
Selenium Gridは、複数のSeleniumサーバーのクラスターです 。 多数のマシンで同時に多くのブラウザーを実行できるようにする分散ネットワークを編成するように設計されています。
Selenium Gridにはスター型トポロジがあります。つまり、「ハブ」または「スイッチ」と呼ばれる専用サーバーがあり、残りのサーバーは「ノード」または「ノード」と呼ばれます。 ネットワークは異機種混合にすることができます。つまり、スイッチとノードは異なるオペレーティングシステムで動作し、異なるブラウザをインストールできます。 Selenium Gridのタスクの1つは、ブラウザーの起動時にその要件(ブラウザーの種類、バージョン、オペレーティングシステム、プロセッサアーキテクチャ、その他の多くの属性)が示されたときに適切なノードを「選択」することです。
以前は、Selenium Gridは独立した製品でした。 現在、物理的には1つの製品(Selenium Server)しかありませんが、いくつかの起動モードがあります。スタンドアロンサーバー、クラスタースイッチ、またはクラスターノードとして動作でき、これは起動パラメーターによって決まります。
セレンIDE
Selenium IDEは、ユーザーアクションを記録し、それらを再生し、同じアクションが実行されるWebDriverまたはSelenium RCのコードを生成できるFirefoxブラウザープラグインです 。 一般的に、これはSelenium Recorderです。
プログラミングの方法がわからない(または望まない)テスターは、記録されたスクリプトをプログラムコードに変換せずに、Selenium IDEをスタンドアロン製品として使用します。 もちろん、これは十分に複雑なテストスイートの開発を許可しませんが、単純な線形スクリプトが必要なものもあります。
それがすべてのようです。
いくつかの用語について話すのを忘れた場合は、コメントを書いてください。このミニ辞書に追加してみます。