繁体   English   中英

Nunit Selenium并行测试值

[英]Nunit Selenium Parallel Tests with Values

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

这是考验;

 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)] [assembly:LevelOfParallelism(2)]添加到AssemblyInfo

第二次测试似乎总是失败(浏览器甚至没有获取网址)

我可以并行运行不同的类和测试,没有任何问题。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM