Селен зависает при запуске Firefox на Ubuntu
моя конечная цель - заставить селен работать "внутри" Дженкинса. Моя установка Jenkins выполняется на виртуальной машине Ubuntu.
после некоторых проблем с настройкой Jenkins selenium (вытекающих из разрешений для пользователя, под которым работает 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 смешивается со следующим параметром
-
в команде, без пробела '... "firefox/usr/lib/firefox-3.6.20/firefox.sh ...- Что приводит к
" замечено исключение HTML suite: Ява.ленг.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 ответов
проблема возникает при работе в автономной среде. Если у вас нет окна для отображения вашего браузера, он будет висеть. Вы можете проверить это, вставив ту же команду, когда вы ssh в свой компьютер, но вместо этого сделайте ssh-X me@server.com
Я нашел документации о том, что вы можете сделать, чтобы исправить это: http://www.alittlemadness.com/2008/03/05/running-selenium-headless/
У меня тоже была такая же проблема, и ни одно из решений, которые я нашел, не сработало:
- нет проблем с исполняемым путем firefox
- безголовый дисплей уже работал
- не было никаких проблем с профилем браузера
то, что я сделал, было попыткой запустить firefox вручную (после установки дисплея) - после чего я получил ошибку:
кажется, что неправильно настроена библиотека D-Bus; не удалось прочитать UUID машины: не удалось открыть /var/lib/dbus / machine-id
Я понятия не имел, как эта проблема возникла из ниоткуда, но это было относительно просто исправить:
ДГУ-uuidgen > в /var/lib в/ДГУ/машина-код