[英]How can I run NUnit(Selenium Grid) tests in parallel?
我當前的項目使用NUnit進行單元測試並驅動用Selenium編寫的UAT。 開發人員通常在VS.Net 2003中使用ReSharper的測試運行器運行測試,我們的構建盒通過NAnt將其啟動。
我們希望並行運行UAT測試,以便我們可以利用Selenium Grid / RC,以便它們能夠更快地運行。
有沒有人對如何實現這一點有任何想法? 和/或針對多個瀏覽器環境測試Selenium測試而不自動編寫重復測試的最佳實踐?
謝謝。
關於這個問題還沒有很多工作。 我沒有找到任何真正相關的東西。
但是,你的觀點很好。 與強大的一個核心CPU相比,現在大多數機器擁有更多內核和更低功能的內核。
所以我確實在微軟博客上找到了一些東西。 該技術稱為PUnit,專門用於測試多線程環境。
它盡可能接近您的要求,我可以找到:)
你可以在那里訪問相應的博客文章: http : //blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx
更新:鏈接不再有效。 CodePlex上的項目已被刪除。
Update2:這是NUnit 2.5的路線圖。 參考
我自己也在努力解決這兩個問題。 最后,我開發了一個定制的Nunit測試運行器,能夠以並行方式運行多個測試。 這與nunit的Taumuon.Rakija擴展相結合,允許根據您希望測試運行的瀏覽器來動態創建測試。
我現在處於這樣一個位置:我可以在多個操作系統上針對盡可能多的瀏覽器類型啟動我的測試套件。
不幸的是,這些問題似乎沒有一個好的解決方案,所以你可能必須自己為你的特定環境解決它們。
NUnit版本3將支持並行運行測試,這適用於Selenium Grid:
將屬性添加到類: [Parallelizable(ParallelScope.Self)]
將與其他測試類並行運行測試。
•ParallelScope.None表示測試可能無法與其他測試並行運行。
•ParallelScope.Self表示測試本身可以與其他測試並行運行。
•ParallelScope.Children指示測試的后代可以相對於彼此並行運行。
•ParallelScope.Fixtures表示燈具可以彼此並行運行。
Igor Brejc有一篇關於使用MbUnit並行運行測試的博客文章。
然而他確實說“一旦我們將Selenium整合到驗收測試中”,所以看起來他只是在嘗試,我找不到任何其他帖子,所以我不知道他是否已成功並行運行Selenium測試。
http://igorbrejc.net/development/continuous-integration/gallio-running-tests-in-parallel
您可以使用Task Parallel Library和DynamicObject類在多個瀏覽器上實現相同測試的並行化。 有關詳細信息,請參閱我的文章與任何.NET單元測試工具並行運行Selenium 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.