C# Nunit Selenium使用值进行并行测试

C# Nunit Selenium使用值进行并行测试,c#,selenium-webdriver,automated-tests,nunit,C#,Selenium Webdriver,Automated Tests,Nunit,我试图用不同的值并行运行相同的nunit测试方法。然而,第二个测试似乎失败了(我认为它试图使用浏览器的第一个实例 这就是考验 namespace AutomationProject.Login_Test_Cases { [TestFixture] [Parallelizable(ParallelScope.Children)] class Login_Test_Cases: BaseTest { [Test] public v

我试图用不同的值并行运行相同的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)] [assembly:LevelOfParallelism(2)]到AssemblyInfo

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

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

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

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

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

能够使用两个单独的
BaseTest
对象运行两个单独的测试是一个开放的功能请求,请参见此处:


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

将StartBrowser()方法调用到Login\u test\u Cases类谢谢,但恐怕运气不好。我尝试删除[SetUp]注释并调用StartBrowser()但是第二个测试仍然失败,如上所述。谢谢,在[test]逻辑中添加局部变量(创建驱动程序和页面)起了作用。很抱歉,我没有足够的代表对此进行投票