Question

Mon projet actuel utilise NUnit pour les tests unitaires et pour gérer les UAT écrites avec Selenium. Les développeurs exécutent normalement des tests à l’aide du programme d’essais de ReSharper dans VS.Net 2003 et notre boîte de dialogue les lance via NAnt.

Nous aimerions exécuter les tests UAT en parallèle afin de pouvoir tirer parti des réseaux Selenium Grid / RC afin qu’ils puissent fonctionner beaucoup plus rapidement.

Quelqu'un a-t-il une idée de la manière dont cela pourrait être réalisé? et / ou les meilleures pratiques pour tester les tests Selenium sur plusieurs environnements de navigateurs sans écrire automatiquement les tests en double?

Merci.

Était-ce utile?

La solution

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

Cependant, votre argument est bien compris. De nos jours, la plupart des machines ont plus de cœurs et de cœurs moins puissants que les cœurs puissants.

J'ai donc trouvé quelque chose sur un blog Microsoft. Cette technologie s'appelle PUnit et est spécialement conçue pour tester un environnement multithread.

C’est aussi proche que possible de ce que vous avez demandé que je puisse trouver:)

Vous pouvez y consulter le billet de blog approprié à cet endroit: http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

Mise à jour: le lien n'est plus valide. Le projet sur CodePlex a été supprimé.

Update2: cela figure sur la feuille de route pour NUnit 2.5. Référence

Autres conseils

J'ai moi-même lutté contre ces deux problèmes. En fin de compte, j'ai développé un programme d'exécution de test Nunit personnalisé capable d'exécuter plusieurs tests en parallèle. Ceci, combiné à l’extension Taumuon.Rakija pour nunit, a permis de créer les tests de manière dynamique, en fonction du navigateur sur lequel vous souhaitez exécuter le test.

Je suis maintenant en mesure de lancer ma suite de tests avec autant de types de navigateurs sur autant de systèmes d'exploitation que je le souhaite en parallèle.

Malheureusement, il semble que la solution à ces problèmes ne soit pas encore satisfaisante. Vous devrez probablement les résoudre vous-même pour votre environnement particulier.

NUnit version 3 supportera les tests en parallèle, cela fonctionne bien avec une grille Selenium:

L'ajout de l'attribut à une classe: [Parallélisable (ParallelScope.Self)] exécutera 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.   les uns avec les autres.

NUnit Framework-Test-Test-Exécution parallèle

Igor Brejc a publié sur son blog un article sur l'exécution de tests en parallèle avec MbUnit.

Cependant, il dit "Une fois que nous avons intégré Selenium dans les tests d'acceptation", on dirait qu'il vient d'expérimenter, je ne peux trouver aucun autre poste, donc je ne sais pas s'il a réussi les tests Selenium en parallèle. .

http://igorbrejc.net/development/continuous -integration / gallio-running-tests-in-parallel

Vous pouvez utiliser la bibliothèque de tâches parallèles et la classe DynamicObject pour réaliser la parallélisation du même test sur plusieurs navigateurs. Voir mon article Exécuter Selenium en parallèle avec un outil de test d'unité .NET pour plus de détails.

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