Nunit Selenium 具有值的并行测试

Nunit Selenium Parallel Tests with Values

我正在尝试 运行 具有不同值的相同 nunit 测试方法并行。但是第二个测试似乎失败了(我认为它正在尝试使用浏览器的第一个实例;

这是测试;

 namespace AutomationProject.Login_Test_Cases
{
    [TestFixture]
    [Parallelizable(ParallelScope.Children)]
    class Login_Test_Cases: BaseTest
    {

        [Test]

        public void LoginPar([Values("skynet" ,"skynet2")] string username)
        {

            lg.Log_In(username, "password");
            }
        }
}

这是设置浏览器的baseTest;

namespace AutomationProject.BaseClasses
{
    public class BaseTest 

    {

        public Log_In_Methods lg;
        public IWebDriver driver;


       [SetUp]
        public void StartBrowser()
        {

            System.Diagnostics.Trace.AutoFlush = true;

            ChromeOptions options = new ChromeOptions();
            options.AddAdditionalCapability("useAutomationExtension", false);
            driver = new ChromeDriver(//path to chrome driver);

            lg = new Log_In_Methods(driver);

            driver.Manage().Window.Maximize();
            driver.Url = "http://login-test.com";


        }

我还添加了 [assembly: Parallelizable(ParallelScope.Children)] [程序集:LevelOfParallelism(2)] 到 AssemblyInfo

第二个测试似乎总是失败(浏览器甚至没有得到url)

我可以 运行 不同的 类 并且并行测试没有问题。

有谁知道是否可以 运行 相同的测试方法与不同的值并行?

Does anyone know if it's possible to run the same test method in parallel with different values?

这是绝对有可能的。这里的问题是两个测试 运行 在 BaseTest class 的单个实例上并行进行,因此你只有一个 lg 字段,两个测试都试图 create/use同时

能够 运行 使用两个单独的 BaseTest 对象进行两个单独的测试是一个开放的功能请求,请参见此处:https://github.com/nunit/nunit/issues/2574

与此同时,如果您要在测试方法中包含 [SetUp] 逻辑并使用局部变量,那么您尝试执行的操作应该有效。