ChromeDriver блокирует и не выходит из строя после неожиданного оповещения - PullRequest
0 голосов
/ 06 февраля 2012

Я использую selenium-server-standalone-2.17.0 (для IE и Firefox) и ChromeDriver 18.0.1022.0 (автономный) на тестовой коробке (Windows 7 64bit), которую я использую для запуска тестов Java на селен.

По какой-то причине при запуске моих тестов с ChromeDriver, когда он впервые сталкивается с неожиданным блоком оповещений, он блокируется на неопределенный срок, а в журнале ChromeDriver говорится:

WARNING: Executing: executeScript

Я настроил ChromeDriver с помощью руководства http://code.google.com/p/selenium/wiki/ChromeDriver и установите время ожидания всех драйверов с помощью

webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

Обновление: Я выяснил, как правильно инициализировать удаленный ChromeDriver с помощью

URL url = new URL("http://192.168.1.15:4444/wd/hub"); 
DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
Webdriver chromeDriver = new RemoteWebDriver(url, capabilities); 

лучше всего с URL-адресом, указывающим на сервер selenium, выполняющий chromedriver в дочернем процессе.Вы можете заставить selenium-server запускать ChromeDriver, запустив его следующим образом:

java -jar C:\selenium-server.jar -Dwebdriver.chrome.driver=C:\path\to\chromedriver.exe

У меня все еще остается та же проблема с застреванием Chrome в окне неожиданного оповещения, но журнал селена дал мне немного больше информации:

INFO - Done: /session/1328623219287/element/253/click
INFO - Executing: [execute script: return !!document['readyState'];, []] at URL: /session/1328623219287/execute)

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

1 Ответ

1 голос
/ 06 февраля 2012

Вот как я инициализирую ChromeDriver:

System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, 
"PathToWhereChromeDriverIsAvailable"); 
ChromeDriverService service = ChromeDriverService.createDefaultService(); 
ChromeOptions options = new ChromeOptions(); 
options.addArguments("--start-maximized"); 
ChromeDriver cd = new ChromeDriver(service, options);

С Alert() у меня есть простое предположение - возможно, он зависает при выполнении скрипта - так что в основном вы не ждете загрузки страницы,но для сценария, чтобы закончить выполнение.Однако у меня нет решения для этого ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...