Question

Je ne suis pas sûr que je comprends tout à fait la différence. WebDriver API contrôle aussi directement le navigateur de choix. Quand utiliser la télécommande de sélénium (sélénium RC) à la place?

En ce moment, ma situation actuelle est que je teste une application web en écrivant une suite avec l'API Sélénium WebDriver et de le laisser fonctionner sur mon ordinateur. Les tests prennent plus de temps et plus de temps à remplir, donc je cherche des moyens pour exécuter les tests sur un serveur Linux.

Si j'utilise la télécommande Sélénium, ce que cela signifie que je dois réécrire tout ce que j'ai écrit avec l'API WebDriver?

Je suis se confondre avec Sélénium Grille, Hudson, Selenium RC. J'ai trouvé un plugin Grille Sélénium pour Hudson, mais pas sûr si cela inclut Selenium RC.

que je prends la bonne route? J'envisage l'architecture suivante:

  • Hudson en cours d'exécution sur quelques serveurs dédiés Ubuntu.
  • Hudson en cours d'exécution avec le plugin Grille Xvnc et Sélénium. (Ai-je besoin d'installer Firefox séparément?)
  • grille Sélénium sélénium courant des suites de test RC.

Je pense que cela est beaucoup plus efficace du temps que le test en cours d'exécution sur mon ordinateur de bureau de travail en cours avec l'API WebDriver.

Était-ce utile?

La solution

Pour autant que je comprends, la mise en œuvre WebDriver a commencé peu plus tard que Selenium RC. De mon point de vue, WebDriver est une solution plus souple, ce qui a corrigé quelques problèmes gênants de SeleniumRC.

WebDriver fournit une interface standard pour l'interface Web de test. Il existe plusieurs implémentations de cette interface (HTTP, spécifique au navigateur et basé sur Selenium). Puisque vous avez déjà quelques tests de WebDriver, vous devez être familier avec docs de base comme cette

  

Les tests se allongent et plus de temps à remplir, donc je cherche des moyens pour exécuter les tests sur un serveur Linux.

Avez-vous essayé de trouver les goulots d'étranglement réels? Je ne suis pas sûr, que l'élimination de la couche WebDriver aidera. Je pense que, la plupart du temps est consacré aux commandes Selenium envoi et les requêtes HTTP au système sous test.

  

Si j'utilise la télécommande sleneium, est-   cela signifie que je dois tout réécrire   J'ai écrit avec l'API WebDriver?

En général, oui. Si vous ne l'avez pas mis en œuvre une couche supplémentaire entre les tests et le code WebDriver.

En ce qui concerne la grille Sélénium: Vous pouvez commencer plusieurs instances Selenium RC sur plusieurs nœuds différents [virtuels], puis les enregistrer en Sélénium Grille. Vos tests de se connecter à la grille Sélénium, et il redirige toutes les commandes aux instances SeleniumRC, leur coordination conformément aux navigateurs requis.

Pour plus de détails du plugin hudson vous pouvez trouver plus d'informations

Autres conseils

WebDriver est maintenant Sélénium 2. Les bases de code et Sélénium WebDriver sont fusionnés. WebDriver obtient sur un certain nombre de questions qui a Sélénium et Sélénium obtient sur un certain nombre de questions qui a WebDriver.

Si vous avez écrit vos tests en Sélénium que vous n'avez pas à les réécrire pour travailler avec Sélénium 2. Nous, les développeurs de base, il a écrit de telle sorte que vous créez une instance de navigateur et injectez qui en Sélénium et votre Sélénium 1 essais travailleront en sélénium 2. J'ai mis un exemple ci-dessous pour vous.

// You may use any WebDriver implementation. Firefox is used here as an example
WebDriver driver = new FirefoxDriver();

// A "base url", used by selenium to resolve relative URLs
String baseUrl = "http://www.google.com";

// Create the Selenium implementation
Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl);

// Perform actions with selenium
selenium.open("http://www.google.com");
selenium.type("name=q", "cheese");
selenium.click("name=btnG");

Selenium 2 n'a malheureusement pas été mis en Sélénium 2, mais il ne devrait pas être trop long jusqu'à ce qu'il ait été ajouté depuis que nous espérons atteindre bêta dans les deux prochains mois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top