2010-07-29 4 views
0

J'essaie de mettre en place des tests de sélénium automatisés, mais je ne sais pas comment exécuter des tests dans plusieurs navigateurs. Basé sur la lecture de choses en ligne, j'ai la grille de sélénium en cours d'exécution avec plusieurs navigateurs et il exécute avec succès mes tests.Exécution de tests sur plusieurs navigateurs avec la grille de sélénium et junit

J'essaie de comprendre comment configurer mes tests junit afin qu'il fonctionne tous les navigateurs les uns après les autres ou en parallèle est possible. Voici mon code:

selenium = new DefaultSelenium("grid.host.here", "4444", "*firefox", "http://host.com"); 

Avec ce code, il ne fonctionne que firefox, comment puis-je le dis de faire tourner Firefox, iexplore et safari sans créer de nouvelles instantes de l'objet? J'ai vu des exemples en PHP et Python où vous pouvez passer un certain nombre de navigateurs et les exécuter les uns après les autres. Impossible de trouver quelque chose pour Java.

Répondre

3

Vous devez créer plusieurs objets DefaultSelenium. C'est ce qui maintient la session du navigateur (c'est-à-dire, la connexion à la grille RC). Selenium Grid est livré avec des exemples de faire cela avec TestNG. Si vous avez besoin d'utiliser jUnit, j'ai vu des gens réussir avec parallel-junit.

À la base, il n'y a pas de magie. Vous avez N travailleurs RC, donc vos tests doivent établir des connexions N pour utiliser pleinement vos travailleurs. Si vous essayez de connecter N + 1, le client bloquera simplement jusqu'à ce qu'un RC soit disponible. Assurez-vous simplement d'ajuster votre configuration de grille pour gérer cela. Il est possible que le client expire avant que le CR ne devienne disponible, ce qui peut créer une situation délicate.

Questions connexes