4

使用 NUnit v3,我将 [Parallelizable(ParallelScope.Fixtures)] 添加到 2 个单独的 [TestFixtures]。

积极的是它们运行,消极的是它们不并行运行,我是否缺少需要在代码中注明的语法?我已经看过并且目前处于 alpha 阶段,它们支持并行运行 TestFixtures,而不是在 Fixture 中进行测试。

但是我没有看到我的测试并行运行。我的目标是酱实验室。

[TestFixture, Description("IE10, Launch url, verify elements, log in, verify landing page")]

//will run test fixtures in parallel

[Parallelizable(ParallelScope.Fixtures)]

//second series of tests to run in parallel
[TestFixture, Description("IE9, Launch url, verify elements, log in, verify landing page")]

//will run test fixtures in parallel

[Parallelizable(ParallelScope.Fixtures)]

每个测试都线性运行并成功,为我的目的在 TestFixture 级别运行有效。但是我觉得我在这里错过了一个概念。

任何帮助都会很好地帮助我弄清楚为什么这不起作用。

谢谢任

4

2 回答 2

1

您的两个 TestFixture 是否在做同样的事情?如果他们可能尝试只有一个 TestFixture 类和两个 TestFixture 属性。

[TestFixture("chrome", "WIN8")]
[TestFixture("firefox", "WIN8")]
[Parallelizable(ParallelScope.Fixtures)]
public class RDTestFixture
{
    public RDTestFixture(string browser, string os)
    {   
        DesiredCapabilities capability = new DesiredCapabilities();
        capability.SetCapability("browserName", browser);
        capability.SetCapability("platform", os);
        driver = new RemoteWebDriver(new Uri("http://10.168.88.131:4444/wd/hub/"), capability); //address of the GRID hub
        driver.Manage().Window.Maximize();
     }

与 Sauce Labs 不同,这只是直接在 selenium 网格上运行,并且两者都是并行运行的。

于 2015-02-22T04:37:24.347 回答
0

这是我使用 nunit-console 并行运行 selenium 测试的方法。

  • 更新了测试项目以使用最新的 NUnit 程序集
  • 更新了过时的属性。您可以在此处找到完整列表。
  • 在每个类中添加了以下几行,我想并行运行:

    [TestFixture]
    [Parallelizable(ParallelScope.Fixtures)]
    
  • 使用此命令行运行 NUnit 控制台:

    nunit-console.exe C:\Path\My.Tests.dll --include=Selenium --result=TestResult.xml;format=nunit2 --workers=4
    
于 2015-03-17T22:21:40.310 回答