Доброго времени суток
Возникла необьяснимая проблема:
Ниже обычный код по инициализации веб драйвера
@BeforeClass
Доброго времени суток
Возникла необьяснимая проблема:
Ниже обычный код по инициализации веб драйвера
@BeforeClass
попробуй передать проперти webdriver.ie.driver при запуске ноды и сервера
java - jar ... -Dwebdriver.ie.driver=path-to-ieserver ... selenium-server.java ...
Скорее всего дело в неправильно настроенном ноде. Попробуйте такую запись:
java -jar libs/selenium-server-standalone-2.25.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -url http://localhost:5556/wd/hub -remoteHost http://localhost:5556 -browser browserName="internet explorer",version=9,platform=WINDOWS,maxInstances=7,ensureCleanSession=true -maxSession 7 -nodeTimeout 30
Возможно в дальнейшем еще потребуются следующие капабилити:
capability.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
capability.setBrowserName(browser);
capability.setPlatform(platform);
The HTTP server started by the IEDriverServer.exe sets an access control list to only accept connections from the local machine, and disallows incoming connections from remote machines. At present, this cannot be changed without modifying the source code to the IEDriverServer.exe. To run the Internet Explorer driver on a remote machine, use the Java standalone remote server in connection with your language binding's equivalent of RemoteWebDriver.
Судя по этому обзацу из http://code.google.com/p/selenium/wiki/InternetExplorerDriver, для запуска IE на удаленке IEDriverServer.exe вообще не нужен. Достаточно только standalone remote server (selenium-server-standalone-2.25.0.jar). Мне немного сложно проверить вашт варианты, так как nodes стартует автоматом Jenkins, надо поискать в нем конфигурацию и попробовать там каким-либо образом добавить данную комманду.
Как раз понадобилось поработать с IE на последних либах. К моему удивлению, в 2.26 версии таки нужно подключать IE драйвер. Делается это, как уже написали выше, путем добавления пути к IEDriverServer в тело нода:
-Dwebdriver.ie.driver=path/IEDriverServer.exe
Помимо этого, придется еще установить protected mode для всех зон в настройках IE. Все это дело успешно работает с IE9. Но вот при попытке запустить даже простенький тест на IE8 я столкнулся с проблемой: браузер то открывается, а дальше видим лишь "This is the initial page for the webdriver server". Все, тест не проходит, т.к. не может найти нужных элементов, что логично, ибо даже первая страница не была загружена. Что с этим делать - пока не знаю. Может кто сталкивался?
Проблема решилась. На IE8 стоял гугл тулбар, который мешал работать драйверу. Совершенно случайно заметил, что первая страница прогружалась в маленьком контроле (размером с инпут) гугл тулбара. -4 часа жизни из-за такой неприятной мелочи. :)
досадно, когда понимаешь, что такая мелочь, а ты из-за нее получаешь кучу головняка