2008-10-17 19 views
8

Mein aktuelles Projekt verwendet NUnit für Komponententests und um UATs zu steuern, die mit Selenium geschrieben wurden. Entwickler führen normalerweise Tests mit dem ReSharper Test Runner in VS.Net 2003 durch und unsere Build Box startet sie über NAnt.Wie kann ich NUnit (Selen Grid) -Tests parallel ausführen?

Wir würden gerne die UAT-Tests parallel ausführen, so dass wir Selenium Grid/RCs nutzen können, so dass sie viel schneller laufen können.

Hat jemand irgendwelche Gedanken darüber, wie dies erreicht werden könnte? und/oder Best Practices zum Testen von Selenium-Tests gegen mehrere Browserumgebungen, ohne automatisch doppelte Tests zu schreiben?

Vielen Dank.

Antwort

5

Es gab nicht viel Arbeit zu diesem Thema. Ich habe nichts wirklich Relevantes gefunden.

Aber Ihr Punkt ist gut gemacht. Die meisten Maschinen haben heutzutage mehr Kerne und weniger leistungsfähige Kerne im Vergleich zu leistungsstarken Ein-Kern-CPUs.

So habe ich etwas auf einem Microsoft-Blog gefunden. Die Technologie heißt PUnit und wurde speziell für den Test von Multi-Thread-Umgebungen entwickelt.

Es ist so nah wie möglich zu dem, was Sie verlangt, dass ich finden konnte :)

Sie können es die passende Blog-Post besuchen genau dort: http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

-Update: Link nicht mehr gültig ist. Das Projekt auf CodePlex wurde entfernt.

Update2: Dies ist auf der Roadmap für NUnit 2.5. Reference

2

Ich kämpfte mit diesen beiden Problemen selbst. Am Ende habe ich einen eigenen Nunit Test Runner entwickelt, der parallel mehrere Tests durchführen kann. In Kombination mit der Erweiterung Taumuon.Rakija für Nunit konnten die Tests dynmatisch erstellt werden, je nachdem, auf welchem ​​Browser der Test ausgeführt werden soll.

Ich bin jetzt in einer Position, in der ich meine Testsuite gegen so viele Browsertypen auf so vielen Betriebssystemen starten kann, wie ich es parallel möchte.

Leider scheint es für diese Probleme keine gute Lösung zu geben, so dass Sie sie wahrscheinlich selbst für Ihre spezielle Umgebung lösen müssen.

+3

Wie über Sie Open-Source-es? – ripper234

2

NUnit Version 3 wird ausgeführt Tests parallel unterstützen, funktioniert dies gut mit einem Selenium Grid:

das Attribut zu einer Klasse hinzu: [Parallelizable(ParallelScope.Self)] Ihre Tests parallel zu anderen Testklassen laufen.

• ParallelScope.None zeigt an, dass der Test möglicherweise nicht parallel mit anderen Tests ausgeführt wird.

• ParallelScope.Self zeigt an, dass der Test selbst parallel zu anderen Tests ausgeführt werden kann.

• ParallelScope.Children gibt an, dass die Nachkommen des Tests parallel zueinander ausgeführt werden können.

• ParallelScope.Fixtures gibt an, dass Leuchten parallel zueinander betrieben werden können.

NUnit Framework-Parallel-Test-Execution

Verwandte Themen