2016-12-16 66 views
1

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

请让我知道,如果我可以提供更多的细节或你想检查的代码片段。

感谢, Souvik

如果你想在同一时间运行多个自动化,使用带有IWebDriver

EX的多个实例线程

回答

3

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(); 
+0

我认为这种方法,但不幸的是代码的设计方式是它会与线程断开。它需要进行很多更改才能使用线程来运行它。还有其他的替代方法吗? –

+0

我以前遇到同样的问题,这是我唯一不幸遇到的解决方案 –

相关问题