2008-10-17 8 views
8

Mon projet actuel utilise NUnit pour les tests unitaires et pour piloter les UAT écrits avec Selenium. Les développeurs exécutent normalement des tests en utilisant le programme de test de ReSharper dans VS.Net 2003 et notre boîte de construction les lance via NAnt.Comment puis-je exécuter des tests NUnit (Selenium Grid) en parallèle?

Nous souhaitons exécuter les tests UAT en parallèle afin de pouvoir tirer parti des Selenium Grid/RC afin de pouvoir fonctionner beaucoup plus rapidement.

Quelqu'un at-il des idées sur la façon dont cela pourrait être réalisé? et/ou les meilleures pratiques pour tester les tests Selenium dans plusieurs environnements de navigateurs sans écrire automatiquement les tests en double?

Merci.

Répondre

5

Il n'y a pas eu beaucoup de travail sur ce sujet. Je n'ai rien trouvé de vraiment pertinent.

Cependant, votre point est bien pris. La plupart des machines ont de nos jours plus de cœurs et moins de cœurs puissants comparés à un cpu puissant. J'ai donc trouvé quelque chose sur un blog de Microsoft. La technologie s'appelle PUnit et est spécialement conçue pour tester l'environnement multithread.

Il est aussi proche que possible de ce que vous avez demandé que je pouvais trouver :)

Vous pouvez le visiter le blog approprié là: http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

Mise à jour: Lien ne sera plus valable. Le projet sur CodePlex a été supprimé.

Mise à jour 2: Ceci est sur la feuille de route pour NUnit 2.5. Reference

2

J'ai lutté moi-même avec ces deux problèmes. À la fin, j'ai développé un coureur de test Nunit personnalisé qui est capable d'exécuter plusieurs tests en parrallèle. Ceci, combiné avec l'extension Taumuon.Rakija pour nunit, a permis de créer des tests de manière dynamique en fonction du navigateur sur lequel vous voulez que le test s'exécute.

Je suis maintenant dans une position où je peux lancer ma suite de tests contre autant de types de navigateurs sur autant de systèmes d'exploitation que je le souhaite en parrallèle.

Malheureusement, il ne semble pas y avoir de bonne solution à ces problèmes et vous devrez probablement les résoudre vous-même pour votre environnement particulier.

+3

Que diriez-vous open source il? – ripper234

2

la version NUnit 3 soutiendra les tests en cours d'exécution en parallèle, cela fonctionne bien avec une grille Sélénium:

Ajout de l'attribut à une classe: [Parallelizable(ParallelScope.Self)] se déroulera vos tests en parallèle avec d'autres classes de test.

• ParallelScope.None indique que le test ne peut pas être exécuté en parallèle avec d'autres tests.

• ParallelScope.Self indique que le test lui-même peut être exécuté en parallèle avec d'autres tests.

• ParallelScope.Children indique que les descendants du test peuvent être exécutés en parallèle les uns par rapport aux autres.

• ParallelScope.Fixtures indique que les appareils peuvent être exécutés en parallèle entre eux.

NUnit Framework-Parallel-Test-Execution