2011-08-18 11 views
8

Sto provando a configurare una casella Linux (nessun display collegato) da eseguire come server di selenio. Se collego un monitor e effettuo il login sulla scatola, posso eseguire i test sul selenio senza problemi. Se provo a eseguire i test tramite ssh poi i test falliscono connon è in grado di avviare il browser per il selenio tramite ssh

Failed to start new browser session, shutdown browser and clear all session data 
java.lang.RuntimeException: Timed out waiting for profile to be created! 
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.waitForFullProfileToBeCreated(FirefoxChromeLauncher.java:360) 
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.populateCustomProfileDirectory(FirefoxChromeLauncher.java:114) 

Penso che abbia qualcosa a che fare con del display assenza/presenza. Qualche idea?

PS il browser è Firefox 5, il sistema operativo è Ubuntu 11.04

+0

senza collegare il monitor, siete in grado di aprire manualmente un browser Firefox in quella macchina usando ssh? –

risposta

10

ho preso a lavorare utilizzando xvfb. Quindi prima installazione Xvfb:

sudo apt-get install xvfb 

quindi eseguirlo

Xvfb :99 -ac 

e quindi avviare il server di selenio

DISPLAY=:99 java -jar selenium-server-standalone-2.4.0.jar 
+1

Thread simile qui: http://stackoverflow.com/questions/4335717/selenium-and-headless-environment –

+0

Lo stesso può essere fatto con il webdriver di selenio di pitone. –

0

Here is my answer.

Si ottiene questo errore perché non c'è nessun monitor per aprire Firefox, si confonde.

Installa Xvfb, che finge di essere un monitor, ma non viene visualizzato da nessuna parte.
sudo apt-get install xvfb

Se si desidera meno errori aggiungere questi caratteri, ma tali avvisi non sono importanti.
sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

Quindi avviarlo e impostare il display su qualcosa che il sistema non utilizzerà. Ecco cosa faccio, ricorda che il & fa funzionare il terminale in background.
Xvfb :99 -ac &
export DISPLAY=:99
firefox &

Inoltre ho avuto problemi con Ruby on Rails server di disconnessione quando ho lasciato il terminale SSH. Per risolvere quel problema usa Schermo. Lo schermo esegue un altro terminale senza essere influenzato da ssh.
sudo apt-get install screen

Quindi avviare la schermata prima di eseguire le operazioni sopra descritte. screen

Per uscire dalla finestra corrente, fare semplicemente clic su "Ctrl + A" e tornare alla schermata del tipo -r.

0

C'è un buon modo per testare uso dello schermo ImageMagick tiro

Installare Mozilla Firefox senza testa (senza GUI)

yum install xorg-x11-server-Xvfb.x86_64 xfonts-base xfonts-75dpi xfonts-100dpi firefox ImageMagick.x86_64 

Avvia Firefox su interfaccia grafica virtuale

DISPLAY=:1 firefox http://google.com & 

- collaudo e controllo

Xvfb :1 -screen 1 1024x768x24 & 
ps -ef |grep firefox 

Utilizza imagemagic per ottenere uno schermo di stampa, per assicurarsi che funzioni. DISPLAY =: 1 import radice -window google.com.png

(Facoltativo) Impostare proxy nel profilo di Firefox

vi /root/.mozilla/firefox/ns11i9xo.default/prefs.js 
user_pref(“network.proxy.http”, “proxyserver”); 
user_pref(“network.proxy.http_port”, 8080); 
user_pref(“network.proxy.no_proxies_on”, “localhost, 127.0.0.1, 172.17.0.0/16, 10.5.0.0/16″); 

http://felipeferreira.net/?p=1220

Problemi correlati