2016-02-05 152 views
1

我使用NUnit3的Parallelizable属性来运行我的Selenium WebDriver测试,但测试始终是按顺序运行的。我的机器的默认工人数为4。我有一个像下面2个夹具:与NUnit3并行运行Selenium WebDriver测试

[TestFixture] 
    [Parallelizable(ParallelScope.Fixtures)] 
    public class SeleniumTest1 
    { 
     [Test] 
     public void Is_Title_Correct() 
     { 
      IWebDriver driver = new FirefoxDriver(); 
      driver.Navigate().GoToUrl("http://www.google.nl"); 
      string actualTitle = driver.Title; 
      string expectedTitle = "Google"; 
      Assert.AreEqual(expectedTitle, actualTitle, "title is not correct"); 
      driver.Quit(); 
     } 
    } 

我怎样才能得到它并行运行,以便它可以同时打开两个浏览器?

+0

你有另一个TextFixtures,或者你只显示了1下的所有测试吗? –

+0

我有彼此测试夹具:'[的TestFixture] [可并行(ParallelScope.Fixtures)] 公共类SeleniumTest2 { [测试] 公共无效Is_Title_Correct() { IWebDriver驱动=新FirefoxDriver(); driver.Navigate()。GoToUrl(“http://www.google.nl”); string actualTitle = driver.Title; string expectedTitle =“Google”; Assert.AreEqual(expectedTitle,actualTitle,“标题不正确”); driver.Quit(); } }' – Megha

+0

您是否尝试过将这两种不同的TestFixture一起运行? –

回答

0

这取决于您使用哪种单元测试运行器来运行测试。我有没有解决方案的问题呢。但只是给你一个想法如何进一步...

如果您使用(1)Visual Studio NUnit测试适配器 - 它显然不支持NUnit 3呢; (2)ReSharper单元测试运行程序仅支持最新版本(10)支持NUnit 3 - 我会首先尝试从VS并行运行单元测试; (3)NUnit 3控制台单元测试运行器 - 当我看过它时,它并未准备好并行运行单元测试。它现在可能能够看到一些东西。

再一次,它的主要想法是寻找一种能够并行运行测试的工具。

+0

我正在使用Nunit3控制台转轮。测试与它连续运行。 – Megha

+0

我试着用ReSharper 10运行测试,测试现在并行运行。谢谢!! – Megha

+0

@Megha请将回答标记为已回答。谢谢。 我也试过NUnit 3控制台 - 它还没有准备好并行运行测试。你可以在官方文档中阅读这个:https://github.com/nunit/dev/wiki/Framework-Parallel-Test-Execution – Shaman