2016-11-14 5 views
1

Используя метод controlFocus:AutoIt просмотрел файл успешно, но производится WebDriver `ошибка UnreachableBrowserException»

ControlFocus("File Upload", "", "Edit1") 
ControlSetText("File Upload", "", "Edit1", "C:\Test.2.0.war") 
ControlClick("File Upload", "", "Button1" 

AutoIt успешно просмотрел и открыл файл в Firefox и отображается правильное имя файла, однако; Селен WebDriver не смог нажать на кнопку загрузки после этого, выбрасывая ошибку:

UnreachableBrowserException: Error communicating with the remote browser.

Код WebDriver используется:

Runtime.getRuntime().exec("D:\\AutoIT\\FileUpload.exe"); 
Thread.sleep(5000); 

Что может быть не так?

+0

Там нет необходимости использовать AutoIt, загрузка файлов поддерживается селеном путем вызова 'sendKeys' на веб-элемент' <входной тип = файл> '. –

+0

Sendkeys doent работает во всех случаях. Для этого проекта он работал в Chrome, но не в Firefox. Firefox отключил кнопку загрузки после того, как путь к файлу был просмотрен и открыт. AutoIT исправил эту проблему –

+0

Можно загрузить файл с помощью Firefox, но в зависимости от версии браузера и драйвера вам может потребоваться применить обходной путь с 'executeScript' для отображения« »или для запуска события« change » , –

ответ

2

Основной причиной этой проблемы является несколько драйверов gecko, работающих в фоновом режиме. Чтобы решить проблему: перейдите в диспетчер задач (Ctrl + Alt + Delete), на вкладке процессов, в фоновом режиме, завершите все экземпляры драйвера gecko и перезапустите webdriver. Это работает для меня, устраняя ошибки UnreachableBrowserException: Error communicating with the remote browser

0

Чтобы добавить к @AutoQA хороший ответ, но лучше позаботиться о closing instances использовании driver.dispose() в пункте finally (или в @AfterClass), или сделать скрипт, чтобы закончить эти экземпляры с чем-то вроде (для Windows):

taskkill /F /IM geckodriver.exe 

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

  • Нет связанных вопросов^_^