Selenium Server при запуске - PullRequest
       13

Selenium Server при запуске

3 голосов
/ 08 сентября 2010

Я использую Selenium RC в системе Ubuntu.Я хочу автоматизировать тесты, и мне нужно запустить Selenium-server.jar при запуске машины.

Я создал seleniumServer.conf в / ect / init / with:

start on startup
start on runlevel 3

respawn

exec xvfb-run java -jar /home/condde/selenium-server-1.0.3/selenium-server.jar -port 4444

Когда я перезагружаю машину, она работает нормально, процесс запущен.Но когда я выполняю тест, результат:

PHPUnit_Framework_Exception: Could not connect to the Selenium RC server.

Есть идеи?Спасибо!

Ответы [ 5 ]

3 голосов
/ 15 февраля 2011

У меня та же проблема, мой процесс иногда не может подключиться к серверу селена.После поиска в отладочном журнале и исходном коде селена я обнаружил, что SecureRandom java зависает, если / dev / random зависает, когда селен пытается генерировать случайное число.Поэтому я заменяю / dev / random на / dev / urandom, тогда селен сервер работает нормально:

sudo mv /dev/random /dev/random.real
sudo ln -s /dev/urandom /dev/random

Или вы можете изменить $JAVA_HOME/jre/lib/security/java.security файл и изменить свойство:

securerandom.source=file:/dev/random

to:

securerandom.source=file:/dev/urandom

Возможно, это работает, но не для меня.

1 голос
/ 23 мая 2015

Другое очень простое и хорошее решение - установить селен через докер. Я использовал изображение Chrome, и это просто, как:

sudo docker run -d -p 4444:4444 selenium/standalone-chrome

Опция -d - это демон, который будет перезапускаться при каждом запуске компьютера. Опция -p перенаправляет порт веб-драйвера (4444) с экземпляра докера на хост.

Ну, это не фантомы, но в любом случае мне больше нравится хром. Также есть изображение Firefox! Оформить заказ https://github.com/SeleniumHQ/docker-selenium для получения дополнительной информации.

1 голос
/ 22 мая 2015

Я сделал это в Ubuntu 14, используя npm.

Сначала установите автономный селен через npm.

sudo npm install selenium-standalone -g
sudo selenium-standalone install

Затем создайте символическую ссылку в /etc/init.d,и настройте его на запуск.

sudo ln -s /usr/local/bin/selenium-standalone /etc/init.d/
sudo update-rc.d selenium-standalone defaults
0 голосов
/ 20 декабря 2010

Я бы запустил процесс сервера селена с параметром -log, чтобы сначала получить информацию о процессе и посмотреть, нет ли на самом деле каких-либо соединений, ошибок и т. Д.

Несколько идей для устранения неполадок:

  • Получите ли вы какой-либо ответ, если введете http://localhost:4444 Он должен выдать ошибку 403. Двигателем Jetty.

  • Еслиэто не работает, я бы попробовал с вашим фактическим IP: 4444, который может указывать на проблему с переменной localhost, настройками прокси и т. д.

  • Могут ли настройки брандмауэра заблокировать порт 4444?Возможно, процесс Selenium Server не может запустить браузер.

0 голосов
/ 12 сентября 2010

Используйте -debug , чтобы запустить Selenium с журналом отладки, чтобы увидеть, есть ли ошибки.

 java -jar selenium-server.jar -debug  > /var/log/selenium-server.log 2>&1
...