1

我正在尝试在并行模式下运行我的测试,但它是按顺序运行而不是并行运行。我在这里找到了一个问题链接,但相同(尼尔和查理,两者)提供的解决方案也不适用于我。

这是我的基类:-

[TestFixtureSource(typeof(TestDataProvider), nameof(TestDataProvider.BrowsersToRunWith))]
[TestFixture]
public class CrossBrowser
{
    public IWebDriver driver;
    public string Browsername { get; }


    public CrossBrowser(string browserName)
    {
        Browsername = browserName;

    }

    [SetUp]
    public void LaunchBrowser()
    {


        if (Browsername.ToLower().Contains("chrome"))
        {
            driver = new ChromeDriver();
        }
        else
        {
            driver = new FirefoxDriver();
        }

    }

TestDataProvider 类:-

class TestDataProvider
{
    internal static IEnumerable BrowsersToRunWith
    {            
        get
        {
           String[] browser = { "Chrome", "FireFox" };
            foreach (string b in browser)
            {
                yield return b;
            }
        }
    }
}

测试类1:-

[Parallelizable(ParallelScope.Self)
public class UT1 : CrossBrowser
{
    
    public UT1(String browserName) : base(browserName)
    {
        Console.WriteLine("Browser is " + browserName);
    }

    [Test]
    public void OpenGoogle()
    {
        driver.Url = "http://google.com";
        driver.Quit();
    }
        
}

测试类2:-

[Parallelizable(ParallelScope.Self)]

public class UT2 : CrossBrowser
{
    
    public UT2(String browserName) : base(browserName)
    {
        Console.WriteLine("Browser is " + browserName);
    }

    [Test]
    public void OpenGoogle()
    {
        driver.Url = "http://google.com";
        driver.Quit();
    }
        
}

测试资源管理器:-

在此处输入图像描述

当我运行所有测试时,它是一个接一个地运行,而不是在并行模式下运行。我错过了什么吗?请建议。谢谢

4

0 回答 0