2008-10-17 150 views
8

我目前的项目使用NUnit进行单元测试,并驱动用Selenium编写的UAT。开发人员通常在VS.Net 2003中使用ReSharper的测试运行器运行测试,我们的构建箱通过NAnt将它们关闭。如何并行运行NUnit(Selenium Grid)测试?

我们想要并行运行UAT测试,以便我们可以利用Selenium Grid/RCs,以便它们能够运行得更快。

有没有人有任何想法如何实现?和/或针对多个浏览器环境测试Selenium测试而不自动编写重复测试的最佳实践?

谢谢。

回答

5

在这个问题上还没有很多工作。我没有发现任何真正相关的东西。

但是,您的观点很好。与功能强大的单核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

2

我挣扎着这两个问题我自己。最后,我开发了一个定制的Nunit测试运行器,它能够并行运行多个测试。这与Taumuon.Rakija扩展NUnit的结合允许取决于你想要测试运行在其上的浏览器来创建dynmaically测试。

我现在是在一个位置,我可以启动我的测试套件对尽可能多的浏览器类型上尽可能多的操作系统,因为我想在parrallel。

遗憾的是那里似乎不是一个很好的解决了这些问题,已经所以你可能必须自己解决这些问题为您的特定环境。

+3

你怎么样开源呢? – ripper234 2009-12-14 07:22:23

2

NUnit的版本3将支持并行运行测试,这工作好与硒网格:

添加属性的类:[Parallelizable(ParallelScope.Self)]将与其他测试类并行运行测试。

•ParallelScope.None表示该测试不能与其他测试并行运行 。

•ParallelScope.Self指示测试 本身可以与其他测试并行运行。

•ParallelScope.Children表示测试的后代可能相互并行运行。

•ParallelScope.Fixtures表示夹具可以相互平行运行 。

NUnit Framework-Parallel-Test-Execution