web-dev-qa-db-fra.com

Différence entre Selenium RC et WebDriver

Quelle est la différence fondamentale entre Selenium RC et WebDriver?

34
Muna

Citant de WebDriver et Selenium RC :

Selenium-WebDriver effectue des appels directs au navigateur en utilisant la prise en charge native de chaque navigateur pour l'automatisation. La façon dont ces appels directs sont effectués et les fonctionnalités qu'ils prennent en charge dépendent du navigateur que vous utilisez. Des informations sur chaque "pilote de navigateur" sont fournies plus loin dans ce chapitre.

Pour ceux qui connaissent le sélénium-RC, c'est très différent de ce à quoi vous êtes habitué. Selenium-RC a fonctionné de la même manière pour chaque navigateur pris en charge. Il a "injecté" des fonctions javascript dans le navigateur lors du chargement du navigateur, puis a utilisé son javascript pour piloter l'AUT dans le navigateur. WebDriver n'utilise pas cette technique. Encore une fois, il pilote le navigateur directement à l'aide de la prise en charge intégrée du navigateur pour l'automatisation.

Vous pouvez ou non avoir besoin du serveur Selenium, selon la manière dont vous comptez utiliser Selenium-WebDriver. Si vous n'utilisez que l'API WebDriver, vous n'avez pas besoin du serveur Selenium. Si votre navigateur et vos tests s'exécutent tous sur la même machine et que vos tests n'utilisent que l'API WebDriver, vous n'avez pas besoin d'exécuter le serveur Selenium; WebDriver exécutera directement le navigateur.

Il y a cependant quelques raisons d'utiliser le serveur Selenium avec Selenium-WebDriver.

  • Vous utilisez Selenium-Grid pour distribuer vos tests sur plusieurs machines ou machines virtuelles (VM).
  • Vous souhaitez vous connecter à une machine distante qui a une version de navigateur particulière qui n'est pas sur votre machine actuelle.
  • Vous n'utilisez pas les liaisons Java (c'est-à-dire Python, C # ou Ruby) et souhaitez utiliser le pilote HtmlUnit.
52
Ripon Al Wasim

Selenium RC injecte la fonction javascript dans les navigateurs lorsque la page Web est chargée.

Selenium WebDriver pilote le navigateur à l'aide de la prise en charge intégrée du navigateur.

19
pkhabya

Je voulais ajouter un point aux réponses ci-dessus,

Comme Selenium RC injecte Java code de script aux navigateurs, les navigateurs agissent de manière presque similaire

Mais pour WebDriver, les appels sont effectués directement à l'aide de la prise en charge native d'un navigateur particulier, les navigateurs se comportent plus comme en cas d'interaction avec l'utilisateur

0
Sapna