我目前的項目使用NUnit進行單元測試,並驅動用Selenium編寫的UAT。開發人員通常在VS.Net 2003中使用ReSharper的測試運行器運行測試,我們的構建箱通過NAnt將它們關閉。如何並行運行NUnit(Selenium Grid)測試?
我們想要並行運行UAT測試,以便我們可以利用Selenium Grid/RCs,以便它們能夠運行得更快。
有沒有人有任何想法如何實現?和/或針對多個瀏覽器環境測試Selenium測試而不自動編寫重複測試的最佳實踐?
謝謝。
我目前的項目使用NUnit進行單元測試,並驅動用Selenium編寫的UAT。開發人員通常在VS.Net 2003中使用ReSharper的測試運行器運行測試,我們的構建箱通過NAnt將它們關閉。如何並行運行NUnit(Selenium Grid)測試?
我們想要並行運行UAT測試,以便我們可以利用Selenium Grid/RCs,以便它們能夠運行得更快。
有沒有人有任何想法如何實現?和/或針對多個瀏覽器環境測試Selenium測試而不自動編寫重複測試的最佳實踐?
謝謝。
在這個問題上還沒有很多工作。我沒有發現任何真正相關的東西。
但是,您的觀點很好。與功能強大的單核cpu相比,現在大多數機器擁有更多的內核和更少的內核。
因此,我在Microsoft博客上找到了一些東西。該技術被稱爲PUnit,專門用於測試多線程環境。
這是儘可能接近到你要求我能找到:)
您可以訪問它適當的博客文章在那裏:http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx
更新:連接不再有效。 CodePlex上的項目已被刪除。
Update2:這是NUnit 2.5的路線圖。 Reference
我掙扎着這兩個問題我自己。最後,我開發了一個定製的Nunit測試運行器,它能夠並行運行多個測試。這與Taumuon.Rakija擴展NUnit的結合允許取決於你想要測試運行在其上的瀏覽器來創建dynmaically測試。
我現在是在一個位置,我可以啓動我的測試套件對儘可能多的瀏覽器類型上儘可能多的操作系統,因爲我想在parrallel。
遺憾的是那裏似乎不是一個很好的解決了這些問題,已經所以你可能必須自己解決這些問題爲您的特定環境。
伊戈爾Brejc有一篇博客文章運行使用MbUnit的並行測試。
但他確實說過「一旦我們將Selenium集成到驗收測試中」,看起來他只是在試驗,我找不到任何其他帖子,所以我不知道他是否已成功並行運行Selenium測試。
http://igorbrejc.net/development/continuous-integration/gallio-running-tests-in-parallel
您可以使用任務並行庫和DynamicObject類來實現在多個瀏覽器相同的測試的並行化。有關詳細信息,請參閱我的文章Running Selenium In Parallel with any .NET Unit Testing Tool。
NUnit的版本3將支持並行運行測試,這工作好與硒網格:
添加屬性的類:[Parallelizable(ParallelScope.Self)]
將與其他測試類並行運行測試。
•ParallelScope.None表示該測試不能與其他測試並行運行 。
•ParallelScope.Self指示測試 本身可以與其他測試並行運行。
•ParallelScope.Children表示測試的後代可能相互並行運行。
•ParallelScope.Fixtures表示夾具可以相互平行運行 。
你怎麼樣開源呢? – ripper234 2009-12-14 07:22:23