在同一台机器上运行Selenium驱动程序的多个实例

时间:2016-12-16 10:53:22

标签: c# selenium selenium-chromedriver

我正在使用C#中的Selenium在Chrome中自动化Web应用。我创建了单独的代码库(exe副本),它们可以相互独立地触发自动化,从而加快这种自动化。每个exes都启动Chrome并触发自动化,但有时我会收到一条Windows弹出消息,显示“ChromeDriver.exe已停止工作”。这不应该发生,因为我已经将chromedriver.exe保存在由每个实例触发的单独代码库中。另外,我正在为每个实例正确处理chromedriver。 如果我运行单个实例,它可以正常工作。

如果我能提供您想要查看的更多详细信息或一些代码段,请告诉我。

谢谢, Souvik

1 个答案:

答案 0 :(得分:3)

如果您希望同时运行多个自动化,请使用多个IWebDriver实例的线程

EX:

public void Work()
{
IWebDriver driver = new ChromeDriver("D:\\Drivers");
driver.Navigate().GoToUrl(URL);
\\Do the rest
}
public void Work2()
{
IWebDriver driver = new ChromeDriver("D:\\Drivers");
driver.Navigate().GoToUrl(URL2);
\\Do the rest
}

并调用这样的函数:

Thread thread1 = new Thread(new ThreadStart(Work));
thread1.Start();
Thread thread2 = new Thread(new ThreadStart(Work2));
thread2.Start();