如何并行运行 NUnit(Selenium Grid) 测试?

8
我的当前项目使用NUnit进行单元测试,并使用Selenium编写UAT。开发人员通常使用ReSharper的测试运行程序在VS.Net 2003中运行测试,而我们的构建框架通过NAnt启动它们。
我们希望能够并行运行UAT测试,以便利用Selenium Grid/RCs,从而使它们能够运行得更快。
有没有人对如何实现这一点或针对多个浏览器环境测试Selenium测试的最佳实践有任何想法?而不需要自动编写重复测试?
谢谢。

这个回答解决了你的问题吗?如何并行运行NUnit测试? - Michael Freidgeim
5个回答

5

关于这个主题,目前并没有太多的研究工作。我没有找到任何真正相关的东西。

但是,您的观点很有道理。现在大多数机器都比单一强大的核心CPU拥有更多的核心和不那么强大的核心。

因此,在微软的博客上我找到了一些内容。该技术称为PUnit,专门用于测试多线程环境。

这是我能找到的与您要求最接近的内容 :)

您可以访问适当的博客帖子:http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

更新:链接无效。CodePlex上的项目已被删除。

更新2:这是NUnit 2.5的路线图。 参考


2
我曾经也遇到过这两个问题。最终我开发了一个自定义的Nunit测试运行器,可以并行运行多个测试。再加上Taumuon.Rakija扩展程序,使得测试可以根据你想要运行测试的浏览器动态创建。
现在我可以在许多操作系统上以并行方式启动我的测试套件,并针对许多浏览器类型进行测试。
不幸的是,目前似乎没有好的解决方案,所以你可能需要为你特定的环境自己解决这些问题。

3
你考虑开源它怎么样? - ripper234

1

NUnit 3版本支持并行运行测试,这对于与Selenium Grid一起使用非常有用:

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

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

• ParallelScope.Self表示该测试本身可以与其他测试一起并行运行。

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

• ParallelScope.Fixtures表示fixture可以相互并行运行。

NUnit Framework-Parallel-Test-Execution


0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接