C# selenium多线程chrome中的数据输入

C# selenium多线程chrome中的数据输入,c#,selenium,selenium-chromedriver,C#,Selenium,Selenium Chromedriver,我正在Selenium中执行多线程ChromeDriver。此外,我还有一个包含登录内容的文本文件: Email 1 Email 2 Email 3 Email 4 如何同时运行4个线程(即4个Chrome窗口)?文本文件中的数据应在这4个线程之间平均分配,并且不应包含重复的数据 以下是我的多线程代码片段: private void Button2_Click(object sender, EventArgs e) { var logi

我正在Selenium中执行多线程ChromeDriver。此外,我还有一个包含登录内容的文本文件:

Email 1
Email 2
Email 3
Email 4
如何同时运行4个线程(即4个Chrome窗口)?文本文件中的数据应在这4个线程之间平均分配,并且不应包含重复的数据

以下是我的多线程代码片段:

   private void Button2_Click(object sender, EventArgs e)
           {
               var login = "mail.txt";

               var getloginrd = File.ReadLines(login).ToList();

               int countloginrd = getloginrd.Count();

               Random getrdlogin = new Random();

               int rdlogin = getrdlogin.Next(0, countloginrd);

               string getlogin = getloginrd.Skip(rdlogin).First();

               Console.WriteLine(getlogin);


               int iThread = 0, maxThread = 4;

               for (int i = 0; i < maxThread;)
               {
                   if (iThread < maxThread)
                   {
                       Interlocked.Increment(ref iThread);
                       i++;
                       new Thread(() =>
                       {
                           LoginOneThread();
                           Interlocked.Decrement(ref iThread);
                       }).Start();

                   }
                   else
                   {
                       Thread.Sleep(100);
                   }
               }

               while (iThread > 0)
               {
                   Thread.Sleep(500);
               }
           }


我想同时运行4个线程(即4个chrome窗口)。。。文本文件中的数据将在这4个线程之间平均分配,并且不会重复。我已经运行了4个线程,希望使用文本文件中的数据在这4个流之间平均分配。上面的代码是我在运行4个重复的输入数据流时编写的。。。我想要:流1:email 1流2:email 2流3:email 3流4:email 4这完全取决于您使用的测试框架以及框架提供的
并行
支持类型。我看到你用C#标记了这个-你是不是碰巧用了` NUnit?是的,我用过NUnit。你能给我举个例子吗?我是新来的,所以我不太懂Yet当我运行时,所有4个流都以“mail1”的形式输入数据。我希望它们不要重叠。
     private void LoginOneThread()
            {
             var driverService = ChromeDriverService.CreateDefaultService();

                driverService.HideCommandPromptWindow = true;

                //Mở chrome

                var drivery = new ChromeDriver(driverService, new ChromeOptions());


                  drivery.Url = "http://phamnhi.net";

                    try
                    {
                        Thread.Sleep(500);

                        IWebElement elementuser = drivery.FindElementByName("username");

                        elementuser.SendKeys(getlogin);

                        IWebElement elemenlogin = drivery.FindElementById("login-signin");

                        elemenlogin.Click();

                        break;
                    }
                    catch (NoSuchElementException)
                    {

                    }

            }