Selenium RC
とWebDriver
の基本的な違いは何ですか?
WebDriverおよびSelenium RC からの引用:
Selenium-WebDriverは、各ブラウザーの自動化のネイティブサポートを使用して、ブラウザーを直接呼び出します。これらの直接呼び出しが行われる方法、およびそれらがサポートする機能は、使用しているブラウザーによって異なります。各「ブラウザドライバ」に関する情報は、この章の後半で提供されます。
Selenium-RCに精通している人にとっては、これはあなたが慣れているものとはまったく異なります。 Selenium-RCは、サポートされている各ブラウザーで同じように機能しました。ブラウザがロードされたときにJavaScript関数をブラウザに「挿入」し、そのJavaScriptを使用してブラウザ内でAUTを駆動しました。 WebDriverはこの手法を使用しません。繰り返しになりますが、ブラウザに組み込まれた自動化サポートを使用して、ブラウザを直接駆動します。
Selenium-WebDriverの使用方法に応じて、Selenium Serverが必要な場合と必要でない場合があります。 WebDriver APIのみを使用する場合、Selenium-Serverは必要ありません。ブラウザとテストがすべて同じマシンで実行され、テストがWebDriver APIのみを使用する場合、Selenium-Serverを実行する必要はありません。 WebDriverはブラウザーを直接実行します。
ただし、Selenium-ServerをSelenium-WebDriverで使用する理由はいくつかあります。
- Selenium-Gridを使用して、テストを複数のマシンまたは仮想マシン(VM)に分散しています。
- 現在のマシン上にない特定のブラウザーバージョンを持つリモートマシンに接続したい。
- Javaバインディング(Python、C#、またはRuby)を使用していないため、HtmlUnit Driverを使用したい場合。
Selenium RCは、WebページがロードされるときにJavaScript関数をブラウザーに挿入します。
Selenium WebDriverは、ブラウザの組み込みサポートを使用してブラウザを駆動します。
上記の答えにポイントを追加したい、
Selenium RCがブラウザにJavaスクリプトコードを挿入しているため、ブラウザはほぼ同様の動作をします
ただし、WebDriverの場合、呼び出しは特定のブラウザーのネイティブサポートを使用して直接行われます。ブラウザーは、ユーザーとの対話の場合のように動作します。