2011-08-22 19 views
10

Mi objetivo final es tener Selenium corriendo 'dentro' de Jenkins. La instalación de My Jenkins se ejecuta dentro de una máquina virtual Ubuntu.Selenium se bloquea al iniciar Firefox en Ubuntu

Después de algunos problemas con la configuración de jenkins selenium (derivada de los permisos para el usuario por los que jenkins corre) cambié a ejecutar el comando desde la línea de comandos para ver qué estaba pasando. Mi objetivo es hacer que la prueba se ejecute aquí, y luego hacer que funcione en Jenkins.

Aquí está el comando y las respuestas que estoy usando y viendo actualmente.

[email protected]:~$ 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 [email protected] 
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 [email protected] 
11:19:53.379 INFO - Preparing Firefox profile... 
11:19:55.949 INFO - Launching Firefox... 

La máquina virtual de Ubuntu no es una instancia sin cabeza, de modo que yo sepa que no es necesario instalar XVFB (como se menciona en algunas entradas de blog sobre el mismo tema).

anterior a este problema, que tenía un problema con perfiles de Firefox, que me fijo utilizando el enfoque respondí con aquí: Jenkins can't launch selenium tests (Timed out waiting for profile to be created)

Firefox abre bien cuando se inicia utilizando el acceso directo en el menú de aplicaciones, y desde que acaba de entrar 'firefox' en la línea de comando.

He intentado añadir la ruta completa a la aplicación de Firefox, de muchas maneras:

  • En el comando' ... * /usr/lib/firefox-3.6.20/firefox.sh Firefox ... "Lo que resulta en" No se puede encontrar el archivo de Suite HTML:/home/resn/http: /google.com: "- parece que la ruta de Firefox se mezcló con el siguiente parámetro
  • En el comando , sin espacio '... "firefox/usr/lib/firefox-3.6.20/firefox.sh ...' Lo que resulta en

    " Excepción de suite HTML vista: java.l ang.RuntimeException: Navegador no compatible: * firefox/usr/lib/firefox-3.6.20/firefox.sh

    navegadores soportados incluyen: * Firefox"

  • En grid_configuration.yml '... navegador: "* firefox /usr/lib.firefox-3.6.20/firefox.sh". Lo cual no tuvo ningún impacto.

Además, como el proceso simplemente se bloquea y no falla, el archivo de registro (/tmp/selenium.log) no se crea.

¡Cualquier idea, sugerencia o sugerencia de depuración sería muy bienvenida!

+0

¿Cuál es su versión de Ubuntu? –

+0

Ubuntu 10.10. ¿Una actualización a 11 ayuda? – mattbilson

+0

Lo entiendo, me estoy ejecutando en Fedora 14 – Gary

Respuesta

4

El problema parece ser cuando se ejecuta en un entorno sin cabeza. Si no tiene una ventana para procesar su navegador, se bloqueará. Puede probar esto pegando el mismo comando cuando ingresa a su máquina, pero en su lugar haga ssh -X me @ server.com

me encontré con esta documentación en lo que puede hacer para solucionar este problema: http://www.alittlemadness.com/2008/03/05/running-selenium-headless/

+0

Una vez que siga los procedimientos de instalación para instalar esto, ponga "Xvfb: 100 -ac &" en un script de shell ejecutado justo antes de que se ejecute selenio. También ponga DISPLAY en la configuración de administración en hudson para que las variables de entorno se agreguen. – Gary

+1

Aún mejor, use 'xvfb-run'. – Koterpillar

3

tuve el mismo problema y ninguna de las soluciones que encontré trabajado:

  • No hay problema con el firefox ruta ejecutable
  • pantalla sin cabeza ya estaba corriendo
  • no había ningún problema con el perfil del navegador

Lo que hice, se trato de ejecutar Firefox manualmente (después de colocar el visor) - en la que me dieron el error:

D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open /var/lib/dbus/machine-id

no tenía ni idea de cómo este problema se produjo de la nada, pero era relativamente fácil de solucionar:

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

acuerdo con 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

Cuestiones relacionadas