webentwicklung-frage-antwort-db.com.de

Unterschied zwischen Selenium RC und WebDriver

Was ist der grundlegende Unterschied zwischen Selenium RC und WebDriver?

34
Muna

Zitat aus WebDriver und Selenium RC :

Selenium-WebDriver ruft den Browser mithilfe der systemeigenen Automatisierungsunterstützung jedes Browsers direkt auf. Wie diese direkten Anrufe getätigt werden und welche Funktionen sie unterstützen, hängt vom verwendeten Browser ab. Informationen zu den einzelnen Browsertreibern finden Sie weiter unten in diesem Kapitel.

Für diejenigen, die mit Selenium-RC vertraut sind, ist dies ganz anders als Sie es gewohnt sind. Selenium-RC funktionierte für jeden unterstützten Browser gleich. Es hat Javascript-Funktionen in den Browser „injiziert“, als der Browser geladen wurde, und dann sein Javascript verwendet, um den AUT innerhalb des Browsers zu steuern. WebDriver verwendet diese Technik nicht. Auch hier wird der Browser direkt gesteuert, wobei die integrierte Unterstützung des Browsers für die Automatisierung verwendet wird.

Je nachdem, wie Sie Selenium-WebDriver verwenden möchten, benötigen Sie den Selenium-Server möglicherweise oder auch nicht. Wenn Sie nur die WebDriver-API verwenden, benötigen Sie den Selenium-Server nicht. Wenn Ihr Browser und Ihre Tests alle auf demselben Computer ausgeführt werden und Ihre Tests nur die WebDriver-API verwenden, müssen Sie den Selenium-Server nicht ausführen. WebDriver führt den Browser direkt aus.

Es gibt jedoch einige Gründe, den Selenium-Server mit Selenium-WebDriver zu verwenden.

  • Sie verwenden Selenium-Grid, um Ihre Tests auf mehrere Maschinen oder virtuelle Maschinen (VMs) zu verteilen.
  • Sie möchten eine Verbindung zu einem Remotecomputer herstellen, der über eine bestimmte Browserversion verfügt, die sich nicht auf Ihrem aktuellen Computer befindet.
  • Sie verwenden nicht die Bindungen Java (d. H. Python, C # oder Ruby)) und möchten den HtmlUnit-Treiber verwenden.
52
Ripon Al Wasim

Selenium RC injiziert Javascript-Funktion in Browser, wenn die Webseite geladen wird.

Selenium WebDriver treibt den Browser mit der eingebauten Unterstützung des Browsers an.

19
pkhabya

Wollte einen Punkt zu den Antworten oben hinzufügen,

Da Selenium RC Java Skriptcode in Browser einspeist, verhalten sich die Browser fast ähnlich

Für WebDriver werden die Anrufe jedoch direkt über die native Unterstützung des jeweiligen Browsers getätigt. Die Browser verhalten sich jedoch eher wie bei Benutzerinteraktionen

0
Sapna