Recibo un error al utilizar Firefox con WebDriver.
org.openqa.selenium.firefox.NotConnectedException: Unable to connect
to host 127.0.0.1 on port 7055 after 45000 ms.
- Versión de Firefox: 47.0
- Selenio: 2.53.0
- Windows 10 de 64 bits
¿Alguien tiene un problema similar o alguna idea de cuál es la solución para esto? Funciona bien con Chrome, pero con Firefox no se carga ninguna de las URL.
Respuestas:
Desafortunadamente, Selenium WebDriver 2.53.0 no es compatible con Firefox 47.0. El componente WebDriver que maneja los navegadores Firefox (
FirefoxDriver
) dejará de estar disponible. A partir de la versión 3.0, Selenium WebDriver necesitará elgeckodriver
binario para administrar los navegadores Firefox. Más información aquí y aquí .Por lo tanto, para utilizar Firefox 47.0 como navegador con Selenium WebDriver 2.53.0, debe descargar el controlador de Firefox (que es un archivo binario llamado a
geckodriver
partir de la versión 0.8.0 y anteriormentewires
) y exportar su ruta absoluta a la variablewebdriver.gecko.driver
como una propiedad del sistema en su código Java:Afortunadamente, la biblioteca WebDriverManager puede hacer este trabajo por usted, es decir, descargar el binario de Marionette adecuado para su máquina (Linux, Mac o Windows) y exportar el valor de la propiedad del sistema adecuada. Para usar esta biblioteca, debe incluir esta dependencia en su proyecto:
... y luego ejecute esta línea en su programa antes de usar WebDriver:
Un ejemplo completo de ejecución de un caso de prueba JUnit 4 usando WebDriver podría ser el siguiente:
Tenga en cuenta que Marionette será la única opción para el futuro (para WebDriver 3+ y Firefox 48+), pero actualmente (versión 0.9.0 en el momento de escribir este artículo) no es muy estable. Echar un vistazo a la hoja de ruta de marionetas para más detalles.
ACTUALIZAR
Selenium WebDriver 2.53.1 se lanzó el 30 de junio de 2016.
FirefoxDriver
está funcionando nuevamente con Firefox 47.0.1 como navegador.fuente
C:\Windows\system32>netstat -ano | find "7055" TCP 127.0.0.1:2896 127.0.0.1:7055 SYN_SENT 2052
Intente usar firefox 46.0.1. Combina mejor con Selenium 2.53
fuente
Tuve el mismo problema y descubrí que necesita cambiar de controlador porque se eliminó el soporte . En lugar de utilizar el controlador de Firefox , debe utilizar el controlador de marionetas para ejecutar sus pruebas. Actualmente estoy trabajando en la configuración y puedo publicar algunos pasos sugeridos si lo desea cuando tenga un ejemplo de trabajo.
Estos son los pasos que seguí para que esto funcione en mi entorno Java en Mac (también me funcionó en mis instalaciones de Linux (Fedora, CentOS y Ubuntu)):
mkdir -p /opt/marionette
)$PATH
para incluir el ejecutable (también, edite su.bash_profile
si lo desea)chmod +x /opt/marionette/wires-x.x.x
que sea ejecutableNota rápida
Todavía no funciona como se esperaba, pero al menos hace que el navegador se inicie ahora. Necesito averiguar por qué; ahora mismo parece que necesito reescribir mis pruebas para que funcionen.
Fragmento de Java
fuente
Si está en OSX usando Homebrew, puede instalar versiones antiguas de Firefox a través de brew cask:
Después de la instalación, solo necesitará cambiar el nombre de su ejecutable FF en el directorio de Aplicaciones a "Firefox".
Se puede encontrar más información en el repositorio de git homebrew-firefox . Apoyos a smclernon por crear el barril original .
fuente
Si estás en una Mac, ¡hazlo
brew install geckodriver
y listo!fuente
En caso de que alguien se pregunte cómo usar Marionette en C #.
Anulación de FirefoxOptions para proporcionar la función para agregar capacidad adicional y configurar el perfil de Firefox porque el selenium v53 aún no proporciona esa función.
Nota: El lanzamiento con perfil no funciona con FF 47, funciona con FF 50 Nightly.
Sin embargo, intentamos convertir nuestra prueba para usar Marionette, y simplemente no es viable en este momento porque la implementación del controlador no está completa o tiene errores. Sugeriría que las personas degraden su Firefox en este momento.
fuente
Las nuevas bibliotecas de selenio ya están disponibles, según: https://github.com/SeleniumHQ/selenium/issues/2110
La página de descarga http://www.seleniumhq.org/download/ parece no estar actualizada todavía, pero agregando 1 a la versión menor en el enlace, podría descargar la versión C #: http: // selenium-release. storage.googleapis.com/2.53/selenium-dotnet-2.53.1.zip
Me funciona con Firefox 47.0.1.
Como nota al margen, pude construir solo la extensión webdriver.xpi de Firefox desde la rama maestra en GitHub, ejecutando
./go //javascript/firefox-driver:webdriver:run
, lo que dio un mensaje de error, pero construyó el archivo build / javascript / firefox-driver / webdriver.xpi , que podría cambiar el nombre (para evitar un conflicto de nombres) y cargar correctamente con el método FirefoxProfile.AddExtension. Esa fue una solución razonable sin tener que reconstruir toda la biblioteca de Selenium.fuente
Es un problema de FF47 https://github.com/SeleniumHQ/selenium/issues/2110
Cambie a FF 46 o inferior (o pruebe el desarrollador de FF48 https://developer.mozilla.org/en-US/Firefox/Releases/48 )
Instrucciones sobre cómo degradar: https://www.liberiangeek.net/2012/04/how-to-install-previous-versions-of-firefox-in-ubuntu-12-04-precise-pangolin/ O si es en Mac, como sugirió otra persona en este hilo, use brew.
fuente
Firefox 47.0 dejó de funcionar con Webdriver.
La solución más sencilla es cambiar a Firefox 47.0.1 y Webdriver 2.53.1. Esta combinación funciona de nuevo. De hecho, restaurar la compatibilidad de Webdriver fue la razón principal detrás de la versión 47.0.1, según https://www.mozilla.org/en-US/firefox/47.0.1/releasenotes/ .
fuente
Puedes intentar usar este código,
Actualicé a selenium 3.0.0 y la versión de Firefox es 49.0.1
Puede descargar geckodriver.exe desde https://github.com/mozilla/geckodriver/releases
Asegúrese de descargar solo el archivo zip, el archivo geckodriver-v0.11.1-win64.zip o win32 uno según su sistema y extraerlo en una carpeta.
Ponga la ruta de esa carpeta en las comillas "Su ruta al controlador". No olvide poner geckodriver.exe en la ruta.
fuente
Finalmente instalé una versión antigua adicional de Firefox (utilizada solo para pruebas) para resolver esto, además de mi última instalación de Firefox regular (segura, actualizada).
Esto requiere que webdriver sepa dónde puede encontrar el binario de Firefox, que se puede configurar a través de la
webdriver.firefox.bin
propiedad.Lo que funcionó para mí (mac, maven,
/tmp/ff46
como carpeta de instalación) es:Para instalar una versión anterior de Firefox en una carpeta dedicada, cree la carpeta, abra el Finder en esa carpeta, descargue el dmg de Firefox y arrástrelo a ese Finder.
fuente
Así es como se veía el problema en Wireshar k
Simplemente cargue 2.53.1 y todo funcionará.
fuente
A septiembre de 2016
Firefox 48.0
yselenium==2.53.6
funciona bien sin erroresPara actualizar Firefox
Ubuntu 14.04
solofuente
Me parece que la mejor solución es actualizar a Selenium 3.0.0, descargar geckodriver.exe y usar Firefox 47 o superior.
Cambié la inicialización de Firefox a:
fuente
Puedo confirmar que
selenium 2.53.6
funcionafirefox 44
para mí en ubuntu 15.fuente