Ho una scatola in cui eseguo i test. Sembra che Jenkins inserisca ed esegua i comandi descritti nel lavoro specifico in esecuzione.
Qui sto cercando di eseguire i miei test Selenium Webdriver, ma mi dice che ho degli errori nell'avvio di Firefox. L'idea finale è di eseguire interamente i test Web su questa casella e di acquisire anche alcuni screenshot degli errori.
Sto usando selenium-java-2.25.jar, firefox 10, sistema operativo Linux.
La cosa divertente è che posso inserire manualmente nella casella, copiare temporaneamente il cookie magico da un altro utente sulla scatola (per ottenere un tunnel X), fare un export DISPLAY=mydisplay:1.0
, quindi avviare i miei test al selenio usando la formica. E questo farà apparire Firefox e i test bene.
Ci sono vari thread qui che sembrano avere lo stesso identico problema e penso di aver provato la maggior parte di essi. Ecco cosa ho fatto:
Riavvia la scatola, accedi nuovamente con VNC.
Inserito uno script bash in Jenkins da eseguire prima di eseguire i test al selenio. Lo script bash praticamente fa semplicemente un
export DISPLAY=mydisplay:1.0
. Esegue anchexclock
. Funziona come posso vedere xclock visualizzato nel VNC.iptables è stato disattivato
firefox si trova correttamente in / usr / bin / firefox
sshd_config mostra che X11Forwarding è true.
Presumibilmente il downgrade di Firefox ha aiutato alcune persone, ma non desidero farlo. Webdriver dovrebbe comunque supportare FF 10.
Tuttavia, nessuna delle precedenti soluzioni risolve il problema.
Non sembra che esista nemmeno la porta 7055 su localhost:
netstat -an | grep 7055
- Niente stampa
Questo è ciò che dice il mio / etc / hosts:
1 127.0.0.1 localhost.localdomain localhost
2 ::1 localhost6.localdomain6 localhost6
Forse ha qualcosa a che fare con localhost: 7055 non esiste? Non sono sicuro di dove andare da qui. ancora, perché l'output dell'errore dice che sta cercando display: :0.0
quando ho specificato mydisplay:1.0
?
E infine l'output dell'errore che ricevo:
[testng] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Error: cannot open display: :0.0
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Error: cannot open display: :0.0
[testng]
[testng] at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:109)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:245)
[testng] at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:109)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:185)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:178)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:174)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
[testng] at com.test.webtest.browser.BrowserFactory.createBrowser(BrowserFactory.java:24)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[testng] at java.lang.reflect.Method.invoke(Method.java:601)