2011-08-18 10 views
8

Jenkins non può lanciare i test di selenio (Ubuntu) erroreJenkins non può lanciare i test di selenio (Timeout durante l'attesa per il profilo da creare)

11: 26: 24,652 INFO - Iniziata org.openqa.jetty .jetty.Server @ ab50cd 11: 26: 24.738 INFO - Preparazione profilo Firefox ... Eccezione suite HTML visualizzata: java.lang.RuntimeException: Timeout in attesa del profilo da creare! a org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.waitForFullProfileToBeCreated (FirefoxChromeLauncher.java:360) a org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.populateCustomProfileDirectory (FirefoxChromeLauncher.java:114) a org.openqa. selenium.server.browserlaunchers.FirefoxChromeLauncher.launch (FirefoxChromeLauncher.java:83) a org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launchHTMLSuite (FirefoxChromeLauncher.java:405) a org.openqa.selenium.server.browserlaunchers. FirefoxLauncher.launchHTMLSuite (FirefoxLauncher.java:105) a org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite (HTMLLauncher.java:121) a org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite (HTMLLauncher. java: 16 6) a org.openqa.selenium.server.SeleniumServer.runHtmlSuite (SeleniumServer.java:556) a org.openqa.selenium.server.SeleniumServer.boot (SeleniumServer.java:241) a org.openqa.selenium. server.SeleniumServer.main (SeleniumServer.java:201) a org.openqa.grid.selenium.GridLauncher.main (GridLauncher.java:40)

OS - workstation Ubuntu 11 Jenkins & Selenio - ultime versioni (installato come è scritto sui siti)

Mi sembra che l'utente jenkins non abbia tutti i diritti, perché se uso la stessa riga per eseguire in terminale, funziona sele nium avvia Firefox & fa la suite.

Ho anche messo l'utente di jenkins in Groop root ma non aiuta.

Non sono qualificato in Linux ma sembra che il problema sia relativo ai diritti dell'utente jenkins, ma posso sbagliare.

Se qualcuno ha risolto il problema, si prega di scrivere la soluzione.

+0

ha iniziato Jenkins come una radice - lo stesso. – okcorp

risposta

8

Recentemente ho riscontrato anche questo problema.

Prima ho provato il metodo menzionato qui: http://www.spacevatican.org/2008/9/27/selenium-and-firefox-3 Tuttavia questa correzione ora sembra obsoleta, poiché le proprietà del plugin maxVersion erano tutte impostate su 8.qualcosa.

Il modo in cui l'ho risolto (come indicato qui: http://www.centripetal.ca/blog/2011/02/07/getting-started-with-selenium-and-jenkins/) era di fornire Selenium con un profilo firefox.

Passi

  1. Aprite Firefox gestore profili: $ firefox -profilemanager
  2. Creare un nuovo profilo, chiamato selenio
  3. Ora, quando si esegue il comando selenio, aggiungere "-firefoxProfileTemplate"/home/{username} /. mozilla/firefox/{profile dir} "al comando. (dove {username} è il tuo nome utente e {profile dir} è la directory del profilo, che per me era" 6f2um01h.Selenio"

mio comando finale selenio era

$ 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/username/.mozilla/firefox/6f2um01h.Selenium" 

Auspico inoltre copiare e incollare il comando di shell che Jenkins è utilizzare nel terminale, per evitare di dover correre attraverso Jenkins ogni volta .


NB attualmente sto trovando che selenio pende ora (e non si blocca) sulla prossima fase del suo processo (Avvio Firefox) ma questo sembra un bug diverso che ho aggiunto a StackOverflow qui: Selenium hangs when launching Firefox on Ubuntu

+0

Se il comando verrà eseguito dalla riga di comando, ma non da Jenkins, è probabile che si tratti di un problema di autorizzazioni. L'utente di jenkins ha i permessi per eseguire Firefox/accedere alla directory del profilo? – mattbilson

+0

ho fatto profilo per FF a Jenkins impostazioni sono le seguenti http://clip2net.com/s/17Zms errore nel Jenkins http://clip2net.com/s/17Zoh – okcorp

+0

Immagino che dipende dalla configurazione , ma sembra che il percorso del profilo non sia corretto. Il percorso deve essere nella directory in cui Firefox memorizza i dati del profilo. Per me, è all'interno della cartella utente in cui viene eseguito Firefox - ~/.mozilla/firefox. All'interno di quella cartella, è probabile che ci siano un paio di profili. Apri profiles.ini per vedere a quale cartella fa riferimento il profilo che hai creato per jenkins. Il percorso completo (senza la scorciatoia utente ~ /) in questa cartella è ciò che deve seguire la parte selenium -firefoxProfileTemplate del comando. – mattbilson

0

Ho problemi simili. Ma la causa e la soluzione sono diverse.

Il programma (io uso Python) si blocca per un po ', e poi uscita:

selenium.common.exceptions.WebDriverException: Messaggio: 'Il browser sembra essere uscito prima che abbiamo potuto collegare. L'output era: * LOG addons.xpi: avvio \ n * LOG addons.xpi: checkForChanges \ n *** LOG addons.xpi: apertura database \ n *** LOG addons.xpi: Nessuna modifica trovata \ nImpossibile dlopen /usr/lib/libX11.so.6\ndlerror dice: /usr/lib/libX11.so.6: classe ELF sbagliato: ELFCLASS32 \ n'

è perché ho installato entrambe le versioni a 32 e 64 bit di libX11. Rimuovendo la versione di libX11 a 32 bit, il programma funziona.

0

La soluzione di @ mattbilson non ha funzionato per me, ma ho trovato una soluzione diversa a un problema con gli stessi symtomps. Credo che nel processo di tentativo di eseguire il debug del problema, siano state installate più versioni di Firefox e non tutte da pacchetti deb debitamente puliti.

per risolvere il problema che ho fatto:

sudo apt-get purge firefox 
sudo mv /usr/lib/firefox /usr/lib/firefox.bak 
sudo apt-get install firefox=<MY_FIREFOX_VERSION> 

Dopo che ho potuto eseguire il JAR Selenio senza parametri speciali.