Selenium зависает при запуске Firefox на Ubuntu - PullRequest
10 голосов
/ 23 августа 2011

Моя конечная цель - запустить Selenium «внутри» Дженкинса.Моя установка Jenkins выполняется в виртуальной машине Ubuntu.

После некоторых проблем с настройкой jenkins selenium (вытекающих из разрешений для пользователя, под которым запускается jenkins), я переключился на запуск команды из командной строки, чтобы посмотреть, что былопроисходит.Моя цель - запустить тест здесь, а затем заставить его работать в Jenkins.

Вот команда и ответы, которые я сейчас использую и вижу.

resn@resn-VirtualBox:~$ sudo java -jar /var/lib/jenkins/tools/selenium/selenium-server.jar -htmlSuite *firefox http://google.com "/var/lib/jenkins/jobs/Selenium setup test/workspace/tests/test-testsuite.html" "/var/lib/jenkins/jobs/Selenium setup test/workspace/results/results.html" -log=/tmp/selenium.log -debug=true -firefoxProfileTemplate "/home/resn/.mozilla/firefox/6f2um01h.Selenium"

23/08/2011 11:19:51 AM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
11:19:52.172 INFO - Java: Sun Microsystems Inc. 19.0-b09
11:19:52.173 INFO - OS: Linux 2.6.35-28-generic i386
11:19:52.223 INFO - v2.4.0, with Core v2.4.0. Built from revision 13337
11:19:52.488 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
11:19:52.491 INFO - Version Jetty/5.1.x
11:19:52.491 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
11:19:52.501 INFO - Started HttpContext[/selenium-server,/selenium-server]
11:19:52.501 INFO - Started HttpContext[/,/]
11:19:52.520 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@15b7986
11:19:52.521 INFO - Started HttpContext[/wd,/wd]
11:19:52.530 INFO - Started SocketListener on 0.0.0.0:4444
11:19:52.530 INFO - Started org.openqa.jetty.jetty.Server@54172f
11:19:53.379 INFO - Preparing Firefox profile...
11:19:55.949 INFO - Launching Firefox...

Виртуальный Ubuntuмашина не является безголовым экземпляром, поэтому AFAIK мне не нужно устанавливать xvfb (как упоминалось в некоторых сообщениях в блогах на ту же тему).

До этого у меня была проблема с профилями Firefox,который я исправил, используя подход, на который я ответил здесь: Дженкинс не может запустить тесты селена (Превышено время ожидания для создания профиля)

Firefox открывается нормально, когда запускается с помощью ярлыка вМеню приложений, и просто введите «firefox» в командной строке.

Я попытался добавить полный путь к приложению Firefox несколькими способами:

  • В команде«... * firefox /usr/lib/firefox-3.6.20/firefox.sh ...», что приводит к «Не удается найти файл HTML Suite: / home / resn / http: /google.com:» -похоже, что путаница Firefox перепутана сth следующий параметр
  • В команде без пробела '... "firefox / usr / lib / firefox-3.6.20 / firefox.sh ...', что приводит к

    "Обнаружено исключение из набора HTML: java.lang.RuntimeException: браузер не поддерживается: * firefox / usr / lib / firefox-3.6.20 / firefox.sh

    Поддерживаются следующие браузеры: * firefox"

  • В браузере grid_configuration.yml '...: "* firefox /usr/lib.firefox-3.6.20/firefox.sh".Который не оказал никакого влияния.

Кроме того, поскольку процесс просто зависает и фактически не завершается, файл журнала (/tmp/selenium.log) не создается.

Любые идеи, советы или предложения по отладке приветствуются!

Ответы [ 2 ]

4 голосов
/ 03 ноября 2011

Проблема, кажется, при работе в автономной среде. Если у вас нет окна для отображения вашего браузера, он будет зависать. Вы можете проверить это, вставив ту же команду, когда вы используете ssh на своем компьютере, но вместо этого выполните ssh -X me@server.com

.

Я нашел эту документацию о том, что вы можете сделать, чтобы это исправить: http://www.alittlemadness.com/2008/03/05/running-selenium-headless/

3 голосов
/ 20 декабря 2013

У меня была такая же проблема, и ни одно из найденных решений не сработало:

  • Нет проблем с путем к файлу Firefox
  • Безголовый дисплей уже работает
  • Не было проблем с профилем браузера

Я попытался запустить firefox вручную (после установки DISPLAY) - после чего я получил ошибку:

Библиотека D-Bus настроена неправильно; не удалось прочитать машину uuid: не удалось открыть / var / lib / dbus / machine-id

Я понятия не имел, как эта проблема возникла неожиданно, но ее было относительно просто исправить:

dbus-uuidgen> / var / lib / dbus / machine-id

согласно http://www.torkwrench.com/2011/12/16/d-bus-library-appears-to-be-incorrectly-set-up-failed-to-read-machine-uuid-failed-to-open-varlibdbusmachine-id

...