2016-12-16 4 views
1

Я автоматизирую веб-приложение в Chrome, используя Selenium в C#. Я создал отдельные кодовые базы (exe-копии), которые будут запускать автоматизацию независимо друг от друга, чтобы сделать эту автоматизацию быстрее. Каждый из exes запускает Chrome и запускает автоматизацию, но иногда я получаю всплывающее сообщение с Windows - «ChromeDriver.exe перестает работать». Это не должно происходить, поскольку у меня уже есть файл chromedriver.exe, который хранится под отдельными базами кода, которые запускаются каждым экземпляром. Кроме того, я правильно распоряжаюся хронометристом для каждого экземпляра. Если я запускаю один экземпляр, он работает нормально.Запуск нескольких экземпляров драйвера Selenium на одном компьютере

Пожалуйста, дайте мне знать, если я могу предоставить более подробную информацию или некоторые фрагменты кода, которые вы хотите проверить.

Спасибо, Souvik

ответ

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

Я рассмотрел этот подход, но, к сожалению, код разработан таким образом, что он будет разбит на потоки. Для его запуска потребуется много изменений, используя потоки. Есть ли другой альтернативный подход? –

+0

Я столкнулся с тем же вопросом раньше, и это единственное решение, которое я нашел, к сожалению –

Смежные вопросы