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)
Respostas:
Não sei se você resolveu esse problema, mas acabei de resolver o mesmo problema do outro lado.
Parece que o Selenium e o Firefox têm dificuldade em conversar um com o outro - suspeito que o Firefox 'evolua' alterações em vários lançamentos, portanto a compatibilidade com versões anteriores e posteriores nem sempre é garantida e a incompatibilidade sempre gera o mesmo erro.
Meu problema começou quando mudei de FF 15 para FF 16. Executando no Ubuntu, isso acontece automaticamente magicamente, juntamente com outras atualizações, mas acredito que essa foi a mudança crítica.
O problema foi resolvido passando do Selenium 2.24.1 para o Selenium 2.25.0
Como a alteração no selênio é apenas baixar o arquivo jar e executá-lo em vez do antigo, vale a pena tentar isso como um solucionador de problemas rápido e fácil - se não ajudar, basta voltar. No seu caso, não tenho certeza de qual versão do Selenium tentar, mas acho que a 2.24 deve funcionar com o FF 10.
Outra questão que encontrei no passado é que o Firefox não seria executado como root no Ubuntu. Isso acontece se o Selenium estiver sendo executado como um serviço ou, possivelmente, se for acionado a partir de um script bash ou de uma tarefa cron. Isso pode explicar por que ele funciona para você, mas não para Jenkins.
fonte
Eu tive uma questão semelhante. Talvez essa resposta também o ajude.
Parece que você tem dois erros diferentes:
Unable to connect to host 127.0.0.1 on port 7055
Error: no display specified
O motivo do
Unable to connect
erro é que a versão do Selenium Server não sabe como trabalhar com a versão mais recente do Firefox. Você precisa baixar uma versão mais recente do Selenium Server que ofereça suporte à versão mais recente do Firefox.O motivo do
Error: no display specified
erro é que o Firefox está sendo iniciado, mas não há um servidor X (GUI) em execução no host remoto. Você pode usar o encaminhamento do X11 para executar o Firefox no host remoto, mas exibi-lo no host local. No Mac OS X, você precisará fazer o download do XQuartz para usar o encaminhamento do X11.fonte
Você precisa verificar a compatibilidade do navegador antes de optar por testar o Selenium:
https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG
Isso pode ajudar a responder à pergunta acima.
fonte
Obtenha os mais recentes frascos de selênio (2,30) para o FireFox 19
Você pode fazer o download dos jarros mais recentes (2,31 até a data de escrita) aqui: https://code.google.com/p/selenium/downloads/list
fonte
Resolvi esse problema fazendo o downgrade do meu Firefox para uma versão anterior que funcionava bem com o Selenium-WebDriver. No meu caso, tive que voltar ao Firefox 18 e esta versão funcionou com o Selenium 2.27
Aqui está o link para obter versões mais antigas do firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
fonte
Esse problema me assombra há muito tempo e eu vi uma solução que funcionava no caso do Firefox: usar o driver atualizado do firefox .
Se as atualizações do Firefox estiverem acontecendo automaticamente, você poderá enfrentar esse problema de vez em quando. Parece que os caras do Firefox estão se desenvolvendo rápido demais ou não se importam com a compatibilidade com versões anteriores.
Toda vez que vejo esse problema nos meus scripts antigos, verifico se a versão do Firefox mudou desde a maioria das vezes.
Então, vou ao repositório maven para o repo do driver selênio do firefox - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver e baixo a versão mais recente.
ou atualize meu pom.xml (se o maven for usado) com a nova versão do driver firefox agora mesmo - 2.40.0
Não há uma maneira fácil de evitar esse problema, a menos que você realmente bloqueie explicitamente a atualização automatizada do firefox (você pode fazer isso (no Mac) nas preferências - Avançado - Atualização - Selecione "Verificar atualizações, mas deixe-me escolher instalá-las" )
Se seus scripts estiverem sendo executados em um modo automatizado, convém desativar as atualizações. No entanto, isso pode criar outros problemas. Como a maioria das pessoas / usuário pode ter as atualizações do Firefox ativadas por padrão. Portanto, seu aplicativo não está realmente sendo testado em nenhuma versão posterior.
fonte
Eu tinha o Firefox 47 e o Selenium 2.53 e recebi o mesmo erro. Minha solução foi mudar o Firefox 47 para o Firefox 46 , o problema foi resolvido.
fonte
Atualize os frascos de selênio, faça o download do selênio 2.31.0
Esse problema foi resolvido pelo pessoal do selênio
Este foi um problema de compatibilidade.
Felicidades
fonte
O problema com o script é que o ambiente usado para o script não é o mesmo usado para seus testes, portanto, definir as variáveis de ambiente não faz nada para seus testes.
Para definir corretamente a variável, você precisa defini-la no Jenkins. Vá para Gerenciar Jenkins> Gerenciar nós> Mestre> Configurar . Marque a caixa de seleção Variáveis de ambiente , digite DISPLAY na caixa de nome e defina o valor para: 1.0.
Além disso, você precisará definir permissões, tente desativar os controles de acesso ao xhost usando
xhost +
o terminal.fonte
Eu também enfrentei o mesmo problema. Sempre que nós ou o webdriver se abrirem, o navegador FF verificará as atualizações, se houver. Nesse caso, tentarei atualizar durante o tempo de execução e, em seguida, você receberá o erro mesmo se ele for atualizado corretamente, apenas porque você não atualizou a versão do Selenium adequadamente.
Navegue para " http://docs.seleniumhq.org/download/ " e baixe a versão mais recente. Agora vá e verifique, o problema seria resolvido, de fato. :)
fonte
Eu recebi o mesmo erro; Eu usei o selenium-java versão 2.25.0 e o Firefox vresion 18.0.2; Alterei a versão do selenium-java para 2.30.0 e agora funciona.
fonte
Para resolver esse problema, use novos arquivos jar disponíveis em http://docs.seleniumhq.org/download/ . Como o Java, C #, php, etc. O Firefox 27.0.1 requer a versão 2.39.0 do driver.
fonte
Basta instalar o Xvnc Plugin no Jenkins. O problema deve ser resolvido.
fonte
Eu recebi o mesmo erro "selenium_Unable para conectar ao host 127.0.0.1 na porta 7055" Solução: usei o selenium-java-2.48.2 com o Firefox versão 43.0.1 e agora está funcionando bem.
fonte
Eu também tive o mesmo problema, mas o problema foi resolvido após o downgrade da versão do firefox para 35.0.1 e minha versão do selenium é 2.43
fonte
Eu tive exatamente o mesmo problema ao executar o Docker, mas encontrei a solução no log anterior ao erro mencionado.
Eu segui os conselhos e o problema foi resolvido.
fonte
É assim que se comporta quando eu uso a propriedade estática do IWebDriver e a chamo de vários métodos de teste.
Gostar
Solução
Para cada método de teste de chamada, crie uma nova instância do Driver
fonte
Atualize os frascos de selênio se nosso script de selênio não estiver em execução. Atualmente, estou usando selenium-java-2.43.0-srcs
Agora está funcionando bem
fonte
Isso acontece em diferentes versões do ff. Estou usando a versão mais recente da ff 39 usando selenium-server-standalone-2.41.0.jar e selenium-java-2.41.0.zip que mostra o mesmo erro.
Obtenha aqui os arquivos jar do servidor e cliente mais recentes para obter a compatibilidade que usei nas versões 2.47.0 e 2.47.1 do servidor e do cliente, respectivamente. And Boom! Funcionou.
fonte
Isso acontece por causa das versões antigas. Basta atualizar o navegador para a versão mais recente e atualizar o pacote selenium webdriver para a versão mais recente.
fonte
Apenas reinicie o terminal. Terminal está pendurado mais nada. Tudo vai funcionar bem depois disso
fonte
Adicionando à base de conhecimento. Tivemos o mesmo problema no Bamboo. O problema foi resolvido usando as propriedades ambientais no bambu.
A adição do valor como propriedades do sistema no pom.xml ou na linha de comandos não funcionou.
fonte
No Windows: verifique também a "descrição" do seu Firefox. O Firefox 43.0.1 64bit não funciona com o Selenium 2.50.0. Trabalhando bem com o Firefox 43.0.1 32bit ...
fonte
Eu também fiquei preso nesse erro por três dias e finalmente entendi. Você pode ver a resposta que eu dei aqui . Este é um problema de compatibilidade do navegador e do selênio. Espero que isso ajude. Você pode verificar a compatibilidade do navegador neste link
fonte
Eu tive o mesmo problema hoje. Para corrigir, desclassifiquei a versão 51 para 47 do firefox e está funcionando.
Nota: Estou usando um Linux Ubuntu Mate, em uma Caixa Virtual, com o host sendo outro Ubuntu Mate. Todos os sistemas operacionais são de 64 bits e o Firefox também.
fonte
Instalado o Firefox Setup 18.0.exe ele funciona para mim
fonte
Eu tive o mesmo problema com o Firefox 38.
Depois de usar as seguintes dependências de versão, eu poderia resolver o problema.
fonte
Eu acho que isso pode ser um problema de exibição. Se você não tiver uma GUI na caixa, o lançamento do firefox a partir do selenium webdriver causaria esse erro.
Para resolver isso, primeiro instale o Xvfb [
yum install Xvfb -y
] (um driver de vídeo virtual) na caixa. Em seguida, execute seu teste de jenkins comxvfv-run -a -d <your test execution command>
. Isso iniciará o navegador em um buffer de exibição virtual. Também é capaz de obter capturas de tela usando o selenium webdriver.fonte
Solução -
1) Atualize o seu servidor Selenium, ou seja, jar de selênio "selenium-server-standalone-2.xx.x.JAR" PARA "selenium-server-standalone-2.45.0.JAR"
2) Atualize seu driver do Selenium Client, ou seja, pasta libs selenium "selenium-java-2.xx.x" TO "selenium-java-2.45.0"
3) Verifique e instale a versão compatível do Firefox
Consulte - Faça o download de selenium libs e jar atualizados, versão 2.45.0
Isso vai resolver o seu problema .. Cheers !!
fonte