Sto provando a eseguire alcuni test senza head utilizzando uno script ruby. Essenzialmente sto eseguendo Xvfb sul display: 1, e poi accendendo Watir::Browser.new(:firefox)
usando watir-webdriver.Esecuzione di Selenium :: WebDriver :: Firefox all'interno di Xvfb da ruby come utente NON root
Questo funziona perfettamente se si esegue lo script come utente root: è possibile eseguire x11vnc e osservare lo script eseguire il browser e interagire con esso.
Il problema è che devo essere in grado di chiamare questo script ruby da un'app Rails e NON eseguirlo come root ... se provo a eseguire lo script dalla riga di comando come un utente normale, Xvfb spara su: 1 come al solito, ma Watir non avvierà un browser ... alla fine scadrà dopo 60 secondi. Il collegamento tramite VNC rivela uno schermo nero con il cursore del mouse.
Posso eseguire l'intero lotto dalla riga di comando - avviare Xvfb, quindi avviare firefox --display=:1
e il browser si avvia, quindi deve trattarsi di un problema di selenio, giusto?
Nutshell: Selenium/Webdriver si rifiuta di avviare un browser all'interno di Xvfb a meno che non esegua lo script come root.
+1 per aggiungere la soluzione una volta che hai capito bene –
@ user724205 La tua risposta dovrebbe essere aggiunta come risposta, non copiata nella domanda. –