C# selenium多线程chrome中的数据输入
我正在Selenium中执行多线程ChromeDriver。此外,我还有一个包含登录内容的文本文件: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
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)
{
}
}