Как настроить Selenium с Chromedriver на Grid-хосте - PullRequest
3 голосов
/ 05 марта 2012

Я просто делаю свои первые шаги с помощью Selenium. Я успешно настроил тест (драйвер Firefox), работающий на сетке Selenium на моем Jenkins (используя плагин Jenkins-Selenium-Grid). Я также установил плагин Chromdriver и сам Chrome на компьютер (Server2003 64bit) под управлением Jenkins. Chrome установлен для всех пользователей (в C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe). Проблема в том, что как только я пытаюсь использовать Chromedriver, я получаю

UnreachableBrowserException: Could not start a new session. Possible causes are invalid     address of the remote server or browser start-up failure.

Поскольку тест Firefox работает нормально, это должно быть проблемой с «запуском браузера» ?! Итак, первый вопрос: каково расположение по умолчанию для двоичного файла Chrome, которое предполагает Chromdriver? Второй вопрос: как это исправить? Нужно ли установить свойство Einvironment? Или я могу просто установить PATH в местоположение chrome.exe.

ОБНОВЛЕНИЕ: я немного покопался, думаю, наткнулся на это или то . Есть ли решение этой проблемы?

Ответы [ 4 ]

5 голосов
/ 14 февраля 2015

Просто сам прошел через тот же процесс.

Используя Selenium Plugin вы можете настроить селеновую сетку.
С помощью Chromedriver Plugin вы можете автоматически установить драйвер Chrome.
Используя Selenium Axis Plugin , вы можете создавать матричные задания.

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

На каждом ведомом устройстве и мастере вы должны в конечном итоге получить $JENKINS_HOME\tools\chromedriver\chromedrive.exe, который можно указать в конфигурации плагина Jenkins Selenium для двоичного пути Chrome [драйвер] как tools\chromedrive\chromedriver.exe, и Дженкинс будет добавлять специфичный для ведомого устройства $JENKINS_HOME для тебя. Jenkins Selenium Config

Установлен Chrome в папку по умолчанию, которая оказалась C:\Program Files (x86)\Google\Chrome\Application\chrome.exe такой же, как описано.

К этому моменту я смог успешно выполнить тестовое задание без указанной вами ошибки.

DesiredCapabilities capability = DesiredCapabilities.chrome();
WebDriver driver = new RemoteWebDriver(new URL("http://Jenkins.ip.here:4444/wd/hub"), capability);
driver.get(siteBase.toString());
String page = driver.getPageSource();

Итак, некоторые другие вещи, которые стоит рассмотреть

  • изменив конфигурацию jenkins selenium, вы перезапустили службу selenium, после изменения конфигурации она, кажется, останавливает их. Есть ли в конфигурации указанные экземпляры.
  • если это была проблема с местом установки, вы можете изменить параметры местоположения установки в тестовых случаях, используя

    ChromeOptions options = new ChromeOptions();
    options.setBinary("/path/to/other/chrome/binary");
    
5 голосов
/ 05 марта 2012

Вы можете использовать это как код установки узла:

java -jar selenium-server-standalone-2.19.0.jar -Dwebdriver.chrome.driver = "C: \ Java \ chromedriver.exe" -role узел -hub http://localhost:4444/grid/register -browser "browserName = Internet Explorer, версия = 8, платформа = WINDOWS "-browser" browserName = chrome, версия = 17, платформа = WINDOWS "-browser" browserName = firefox, версия = 9, платформа = WINDOWS "-browser" browserName = opera, версия = 11, платформа = WINDOWS "

Таким образом, существует прямое указание на двоичный файл chromedriver, и это - chromedriver.exe, а не обычный chrome.exe. У меня была похожая проблема, и она работала для меня.

1 голос
/ 26 февраля 2013

Вы указали -Dwebdriver.chrome.driver=Path/To/ChromeDriver при запуске вашего узла?

Добавление этого может помочь.

0 голосов
/ 14 марта 2012

Я задал тот же вопрос в группе селена:

https://groups.google.com/forum/?fromgroups#!topic/selenium-users/-3LJ3wma3RE

Решение, если оно там, не сработало для меня, но, возможно, оно работает для вас?(установите PATH для хромедривера на Дженкинса)

...