具有值的Nunit硒平行测试

时间:2018-07-18 11:54:22

标签: c# selenium-webdriver automated-tests nunit

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

这是测试;

storage = double
worker.storage = storage

这是设置浏览器的baseTest;

 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");
            }
        }
}

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

第二项测试似乎总是失败(浏览器甚至无法获取网址)

我可以并行运行不同的类和测试,而不会出现任何问题。

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

1 个答案:

答案 0 :(得分:1)

  

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

这是绝对可能的。这里的问题是,两个测试都在BaseTest类的单个实例上并行运行,因此,您只有一个lg字段,两个测试都试图同时创建/使用。

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

同时,如果要将[SetUp]逻辑包含在测试方法中并使用局部变量,则您尝试执行的操作应该会起作用。