Eu tenho caixa onde eu executo testes. Parece que Jenkins ssh e executar comandos descritos no trabalho específico que está sendo executado.
Aqui, estou tentando executar meus testes Selenium Webdriver, mas isso indica que tenho erros ao iniciar o firefox. A idéia final é executar os testes da web nessa caixa totalmente e também capturar algumas capturas de tela dos erros.
Estou usando selenium-java-2.25.jar, firefox 10, sistema operacional linux.
O engraçado é que posso inserir manualmente na caixa, copiar temporariamente o cookie mágico de outro usuário na caixa (para obter um túnel X), fazer um export DISPLAY=mydisplay:1.0
e iniciar meus testes de selênio usando ant. E isso trará o firefox e os testes muito bem.
Existem vários tópicos aqui que parecem ter exatamente o mesmo problema e acho que tentei a maioria deles. Aqui está o que eu fiz:
Reinicie a caixa, efetue login novamente com o VNC.
Colocou um script bash no Jenkins para executar antes de executar testes de selênio. O script bash basicamente faz um
export DISPLAY=mydisplay:1.0
. Também executaxclock
. Isso funciona como eu posso ver o xclock sendo exibido no VNC.iptables foram desativados
O firefox está localizado corretamente em / usr / bin / firefox
sshd_config mostra ter X11Forwarding como verdadeiro.
Supostamente fazer o downgrade do firefox ajudou algumas pessoas, mas eu não desejo fazer isso. O Webdriver deve suportar FF 10 de qualquer maneira.
No entanto, nenhuma das opções acima resolve o problema.
Não parece que a porta 7055 no host local exista:
netstat -an | grep 7055
- Nada imprime
Isto é o que meus / etc / hosts dizem:
1 127.0.0.1 localhost.localdomain localhost
2 ::1 localhost6.localdomain6 localhost6
Talvez tenha algo a ver com localhost: 7055 não existe? Não tenho certeza para onde ir a partir daqui. Ainda assim, por que a saída de erro diz que está procurando display: :0.0
quando eu especifiquei mydisplay:1.0
?
E, finalmente, a saída de erro que recebo:
[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)