Selenium ツールは、実際には 2 つではなく 3 つです。
セレンIDE
Selenium RC に支えられた Firefox アドオンです。簡単に習得でき、テストケースを非常に迅速に作成し、テストケース記録ツールとしては非常に優れています。Selenese (組み込みコマンド) と (限定的な) JavaScript の強みしか持たないため、それほど強力ではありません。しかし、それほど複雑ではない Web ページでテストケースをすばやく作成する必要がある場合は、非常に使いやすく、非常に高速であるため、使用するツールです。Selenium RC (または WebDriver) の場合、Java で何百行も記述する必要がありますが、IDE では数回クリックするだけで完了です。Eclipse/NetBeans は不要で、プログラミングのスキルもほとんど必要ありません。基本的な問題や静的ページに適しています。
セレンRC
あなたにもっと多くを与えます。これは純粋な JavaScript (毎回ページに挿入される) に支えられており、6 つのプログラミング言語 (C#、Java、Ruby、PHP、Python、Perl) のような API を備えています。これにより、言語の可能性を最大限に活用できるようになります。たとえば、Java を使用してデータベースに接続し、その状態を確認し、いくつかの前提条件を確認します。しかし、物事を成し遂げるには、より多くの時間、労力、知識が必要です。
また、Selenium RC は 1 年前に非推奨になりました! これ以上の開発はありません。動作しますが、簡単には克服できない重大な制限がいくつかあります (JavaScript の同一生成元ポリシー、要素を編集できないという JavaScript のセキュリティ ポリシー<input type='file' />
、恐ろしく拡張不可能な API であり、可能性のあるすべての変更を実際に行うことはできません)。必要、onload
JSダイアログを処理できない...)。
Selenium WebDriver (別名 Selenium 2)
Selenium RC の後継です。内部からブラウザーを実際に駆動し (IE の DLL フック、Firefox のアドオン、Google 自体が提供する Chrome のドライバーなど)、非常に優れたクリーンな API を備え、Selenium RC が持つすべての問題を克服します (ファイルのダウンロードを除いて、まだ)、積極的に開発および強化されています。最近では、Selenium RC ではなく、Selenium WebDriver を使用することをお勧めします。
(うーん、RC の代わりに WebDriver を使用するよう説得するためのテキストが多すぎます)
PHPUnitについて:
PHPUnit と Selenium は非常に異なることを行います。PHPUnit (他の xUnit フレームワークと同様) は主にユニット テスト用に作られていますが、Selenium はブラック ボックス テストまたはシステム テスト用に作られています。
コードを書くとき、PHPUnit でテストを書くのは素晴らしいことです。これらのテストは、プロジェクトの内部をテストします。彼らはそれを少しずつ、ユニットごとに行います。Selenium はそれを別の角度から捉えます。ユーザーが実際に見たり体験したりできるものをテストし、プロジェクト全体をテストし、すべての小さなものがどのように連携するかをテストします。ブラウザ自体でフロントエンドを (とりわけ!) テストするため、指を動かさずに複数のブラウザで新しい変更を試すことができます。Selenium はアプリケーション全体を外部からテストし、誰かがドアをノックしたときの動作を調べます。PHPUnit は、アプリケーションの各部分を内部からテストします - 適切な人がドアを開けに行くかどうか、鍵を忘れていないかどうか。
PHPUnit テストと Selenium テストの両方が必要です。フレームワークは実際には競合ではなく、一方が不足した場合に相互に補完します。