2011-08-22 31 views
10

Il mio obiettivo finale è far funzionare il selenio "all'interno" di Jenkins. L'installazione di My Jenkins viene eseguita all'interno di una macchina virtuale Ubuntu.Il selenio si blocca quando si avvia Firefox su Ubuntu

Dopo alcuni problemi con l'installazione del selenio jenkins (derivante dalle autorizzazioni per l'utente che jenkins gira sotto), passai all'esecuzione del comando dalla riga di comando per vedere cosa stava succedendo. Il mio obiettivo è far eseguire il test qui e poi farlo funzionare all'interno di Jenkins.

Ecco il comando e le risposte che sto attualmente utilizzando e visualizzando.

[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]86 
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 macchina virtuale Ubuntu non è un esempio senza testa, quindi per quanto ne so io non hanno bisogno di installare Xvfb (come viene menzionato in alcuni post del blog sullo stesso argomento).

precedente a questo problema, ho avuto un problema con i profili di Firefox, che ho fissato utilizzando l'approccio risposi con qui: Jenkins can't launch selenium tests (Timed out waiting for profile to be created)

Firefox apre bene quando ha lanciato utilizzando il collegamento all'interno del menù Applicazioni, e da appena entrati 'firefox' sulla riga di comando.

Ho provato ad aggiungere il percorso completo l'applicazione Firefox, in molti modi:

  • Nel comando' ... * /usr/lib/firefox-3.6.20/firefox.sh firefox ... "che risulta in" Impossibile trovare il file HTML Suite:/home/resn/http: /google.com: "- sembra che il percorso di firefox sia stato modificato con il prossimo parametro
  • Nel comando , senza spazio '... "firefox/usr/lib/firefox-3.6.20/firefox.sh ...' che risulta in

    " Eccezione suite HTML vista: java.l ang.RuntimeException: Browser non supportato: * firefox/usr/lib/firefox-3.6.20/firefox.sh

    I browser supportati includono: * firefox"

  • In grid_configuration.yml '... del browser: "* firefox /usr/lib.firefox-3.6.20/firefox.sh". Che non ha avuto alcun impatto.

Inoltre, poiché il processo si blocca e non ha esito negativo, il file di registro (/tmp/selenium.log) non viene creato.

Qualsiasi idea, suggerimento o suggerimento per il debug sarebbe molto gradito!

+0

Qual è la tua versione di Ubuntu? –

+0

Ubuntu 10.10. Un aggiornamento a 11 sarebbe d'aiuto? – mattbilson

+0

Ho capito, sto usando Fedora 14 – Gary

risposta

4

Il problema sembra essere quando si esegue in un ambiente senza testa. Se non si dispone di una finestra per il rendering del browser, si bloccherà. È possibile testare questo incollando lo stesso comando quando si esegue ssh sulla macchina, ma invece si esegue ssh -X me @ server.com

Ho trovato questa documentazione su cosa si può fare per risolvere questo problema: http://www.alittlemadness.com/2008/03/05/running-selenium-headless/

+0

Una volta che segui le procedure di installazione per installarlo, metti "Xvfb: 100 -ac" in uno script di shell eseguito proprio prima dell'esecuzione del selenio. Metti anche DISPLAY nelle impostazioni di amministrazione di hudson per le variabili di ambiente da aggiungere. – Gary

+1

Ancora meglio, usa 'xvfb-run'. – Koterpillar

3

Ho avuto lo stesso problema troppo e nessuna delle soluzioni che ho trovato lavorato:

  • Nessun problema con il firefox percorso dell'eseguibile
  • visualizzazione senza testa era già in esecuzione
  • non c'era alcun problema con il profilo del browser

Quello che ho fatto, è stato tenta di eseguire firefox manualmente (dopo l'impostazione del display) - sul quale ho ottenuto l'errore:

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

non avevo idea di come questo problema si è verificato di punto in bianco, ma era relativamente semplice da risolvere:

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

in base alle 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

Problemi correlati