Estou recebendo um erro ao usar o Firefox com WebDriver.
org.openqa.selenium.firefox.NotConnectedException: Unable to connect
to host 127.0.0.1 on port 7055 after 45000 ms.
- Versão do Firefox: 47.0
- Selênio: 2.53.0
- Windows 10 64 bits
Alguém está tendo um problema semelhante ou alguma ideia de qual é a solução para isso? Está funcionando bem com o Chrome, mas com o Firefox nenhum dos URLs está sendo carregado.
Respostas:
Infelizmente Selenium WebDriver 2.53.0 não é compatível com Firefox 47.0. O componente WebDriver que lida com os navegadores Firefox (
FirefoxDriver
) será descontinuado. A partir da versão 3.0, o Selenium WebDriver precisará dogeckodriver
binário para gerenciar os navegadores Firefox. Mais informações aqui e aqui .Portanto, para usar o Firefox 47.0 como navegador com Selenium WebDriver 2.53.0, você precisa baixar o driver do Firefox (que é um arquivo binário chamado a
geckodriver
partir da versão 0.8.0, e anteriormentewires
) e exportar seu caminho absoluto para a variávelwebdriver.gecko.driver
como uma propriedade de sistema em seu código Java:Felizmente, a biblioteca WebDriverManager pode fazer esse trabalho para você, ou seja, baixar o binário Marionette adequado para sua máquina (Linux, Mac ou Windows) e exportar o valor da propriedade de sistema adequada. Para usar esta biblioteca, você precisa incluir esta dependência em seu projeto:
... e então execute esta linha em seu programa antes de usar o WebDriver:
Um exemplo completo de execução de um caso de teste JUnit 4 usando WebDriver poderia ser o seguinte:
Leve em consideração que o Marionette será a única opção para o futuro (para WebDriver 3+ e Firefox 48+), mas atualmente (versão 0.9.0 no momento da escrita) não é muito estável. Dê uma olhada no roteiro da Marionete para mais detalhes.
ATUALIZAR
O Selenium WebDriver 2.53.1 foi lançado em 30 de junho de 2016.
FirefoxDriver
está funcionando novamente com o Firefox 47.0.1 como navegador.fonte
C:\Windows\system32>netstat -ano | find "7055" TCP 127.0.0.1:2896 127.0.0.1:7055 SYN_SENT 2052
Tente usar o firefox 46.0.1. Combina melhor com Selenium 2,53
fonte
Eu tive o mesmo problema e descobri que você precisa trocar os drivers porque o suporte foi interrompido . Em vez de usar o Firefox Driver , você precisa usar o Marionette Driver para executar seus testes. No momento, estou trabalhando na configuração sozinho e posso postar algumas etapas sugeridas, se desejar, quando tiver um exemplo funcional.
Aqui estão as etapas que segui para fazer isso funcionar em meu ambiente Java no Mac (funcionou para mim em minhas instalações do Linux (Fedora, CentOS e Ubuntu) também):
mkdir -p /opt/marionette
)$PATH
para incluir o executável (também, edite o seu,.bash_profile
se desejar)chmod +x /opt/marionette/wires-x.x.x
que é executávelNota rápida
Ainda não está funcionando como o esperado, mas pelo menos lança o navegador agora. Preciso descobrir por quê - agora parece que preciso reescrever meus testes para fazê-los funcionar.
Snippet Java
fonte
Se você está no OSX usando o Homebrew, pode instalar versões antigas do Firefox via brew cask:
Após a instalação, você só precisará renomear seu executável FF no diretório Aplicativos para "Firefox".
Mais informações podem ser encontradas em git repo homebrew-firefox . Adereços para smclernon para criar o barril original .
fonte
Se você estiver em um Mac, faça isso
brew install geckodriver
e pronto!fonte
Caso alguém esteja se perguntando como usar o Marionette em C #.
Substituindo FirefoxOptions para fornecer a função de adicionar capacidade adicional e definir o perfil do Firefox porque o selenium v53 ainda não fornece essa função.
Nota: a inicialização com perfil não funciona com FF 47, funciona com FF 50 Nightly.
No entanto, tentamos converter nosso teste para usar o Marionette, e isso não é viável no momento porque a implementação do driver não está concluída ou está cheia de erros. Eu sugiro que as pessoas façam o downgrade do Firefox neste momento.
fonte
Novas bibliotecas Selenium estão disponíveis, de acordo com: https://github.com/SeleniumHQ/selenium/issues/2110
A página de download http://www.seleniumhq.org/download/ parece não ter sido atualizada ainda, mas adicionando 1 à versão secundária no link, eu poderia baixar a versão C #: http: // selenium-release. storage.googleapis.com/2.53/selenium-dotnet-2.53.1.zip
Funciona comigo com Firefox 47.0.1.
Como observação lateral, consegui construir apenas a extensão webdriver.xpi do Firefox a partir do branch master no GitHub, executando
./go //javascript/firefox-driver:webdriver:run
- o que gerou uma mensagem de erro, mas construiu o arquivo build / javascript / firefox-driver / webdriver.xpi , que poderia renomear (para evitar conflito de nomes) e carregar com êxito com o método FirefoxProfile.AddExtension. Essa foi uma solução alternativa razoável sem ter que reconstruir toda a biblioteca Selenium.fonte
É um problema FF47 https://github.com/SeleniumHQ/selenium/issues/2110
Faça downgrade para FF 46 ou inferior (ou experimente o desenvolvedor FF48 https://developer.mozilla.org/en-US/Firefox/Releases/48 )
Instruções sobre como fazer o downgrade: https://www.liberiangeek.net/2012/04/how-to-install-previous-versions-of-firefox-in-ubuntu-12-04-precise-pangolin/ Ou se você for no Mac, como sugerido por outra pessoa neste tópico, use cerveja.
fonte
O Firefox 47.0 parou de funcionar com o Webdriver.
A solução mais fácil é mudar para Firefox 47.0.1 e Webdriver 2.53.1. Esta combinação funciona novamente. Na verdade, restaurar a compatibilidade do Webdriver foi a principal razão por trás do lançamento 47.0.1, de acordo com https://www.mozilla.org/en-US/firefox/47.0.1/releasenotes/ .
fonte
Você pode tentar usar este código,
Eu atualizei para o Selenium 3.0.0 e a versão do Firefox é 49.0.1
Você pode baixar geckodriver.exe em https://github.com/mozilla/geckodriver/releases
Certifique-se de baixar apenas o arquivo zip, o arquivo geckodriver-v0.11.1-win64.zip ou win32 um de acordo com o seu sistema e extraí-lo em uma pasta.
Coloque o caminho para essa pasta nas aspas "Seu caminho para o driver". Não se esqueça de colocar geckodriver.exe no caminho.
fonte
Finalmente instalei uma versão antiga adicional do Firefox (usada apenas para teste) para resolver isso, além da minha última instalação regular (segura e atualizada) do Firefox.
Isso requer que o webdriver saiba onde pode encontrar o binário do Firefox, que pode ser definido por meio da
webdriver.firefox.bin
propriedade.O que funcionou para mim (mac, maven,
/tmp/ff46
como pasta de instalação) é:Para instalar uma versão antiga do Firefox em uma pasta dedicada, crie a pasta, abra o Finder nessa pasta, baixe o dmg do Firefox e arraste-o para esse Finder.
fonte
Aqui está a aparência do problema no Wireshar k
Basta carregar o 2.53.1 e tudo funcionará.
fonte
Em setembro de 2016
Firefox 48.0
eselenium==2.53.6
funcionam bem sem errosPara atualizar o firefox em
Ubuntu 14.04
apenasfonte
Parece-me que a melhor solução é atualizar para o Selenium 3.0.0, baixar geckodriver.exe e usar o Firefox 47 ou superior.
Mudei a inicialização do Firefox para:
fonte
Posso confirmar que
selenium 2.53.6
funcionafirefox 44
comigo no Ubuntu 15.fonte