Tengo una caja donde ejecuto pruebas. Parece que Jenkins podría ingresar y ejecutar comandos descritos en el trabajo específico que se está ejecutando.
Aquí estoy tratando de ejecutar mis pruebas de Selenium Webdriver, pero me dice que tengo errores al iniciar Firefox. La idea final es ejecutar las pruebas web en este cuadro por completo, y también tomar algunas capturas de pantalla de los errores.
Estoy usando selenium-java-2.25.jar, firefox 10, linux OS.
Lo curioso es que puedo ingresar manualmente en la caja, copiar temporalmente la cookie mágica de otro usuario en la caja (para obtener un túnel X), hacer una export DISPLAY=mydisplay:1.0
, y luego iniciar mis pruebas de selenio usando hormiga. Y esto abrirá Firefox y las pruebas estarán bien.
Hay varios hilos aquí que parecen tener exactamente el mismo problema, y creo que he probado la mayoría de ellos. Esto es lo que hice:
Reinicie el cuadro, vuelva a iniciar sesión con VNC.
Se colocó un script bash en Jenkins para ejecutarse antes de ejecutar las pruebas de selenio. El script bash básicamente solo hace un
export DISPLAY=mydisplay:1.0
. También se ejecutaxclock
. Esto funciona ya que puedo ver que xclock se muestra en el VNC.iptables han sido apagados
firefox está ubicado correctamente en / usr / bin / firefox
sshd_config muestra que X11Forwarding es verdadero.
Supuestamente, la degradación de Firefox ayudó a algunas personas, pero no deseo hacer esto. Webdriver debería admitir FF 10 de todos modos.
Sin embargo, ninguno de los anteriores resuelve el problema.
Parece que el puerto 7055 en localhost ni siquiera existe:
netstat -an | grep 7055
- Nada imprime
Esto es lo que dice mi / etc / hosts:
1 127.0.0.1 localhost.localdomain localhost
2 ::1 localhost6.localdomain6 localhost6
Tal vez tiene algo que ver con localhost: 7055 no existe? No estoy seguro de a dónde ir desde aquí. Aún así, ¿por qué la salida de error dice que está buscando display: :0.0
cuando he especificado mydisplay:1.0
?
Y finalmente la salida de error que recibo:
[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)
Respuestas:
No sé si resolvió este problema, pero acabo de resolver el mismo problema desde el otro lado.
Parece que Selenium y Firefox tienen dificultades para comunicarse entre sí. Sospecho que Firefox 'evoluciona' los cambios en varias versiones, por lo que la compatibilidad con versiones anteriores y posteriores no siempre está garantizada, y la incompatibilidad siempre parece generar el mismo error.
Mi problema comenzó cuando me mudé de FF 15 a FF 16. Al ejecutarse en Ubuntu, esto sucede automáticamente mágicamente junto con otras actualizaciones, pero creo que este fue el cambio crítico.
El problema se resolvió al pasar de Selenium 2.24.1 a Selenium 2.25.0
Como el cambio de selenio es solo descargar el archivo jar y ejecutarlo en lugar del anterior, vale la pena intentarlo como un solucionador de problemas rápido y fácil; si no ayuda, simplemente regrese. En su caso, no estoy seguro de qué versión de Selenium probar, pero creo que 2.24 debería funcionar con FF 10.
Otro problema que he encontrado en el pasado es que Firefox no se ejecutaría como root en Ubuntu. Esto sucede si Selenium se está ejecutando como un servicio, o posiblemente si se activa desde un script bash o un trabajo cron. Esto puede explicar por qué funciona para usted, pero no para Jenkins.
fuente
Tuve un problema similar Quizás esta respuesta también te ayude.
Parece que tienes dos errores diferentes:
Unable to connect to host 127.0.0.1 on port 7055
Error: no display specified
La razón del
Unable to connect
error es que la versión de Selenium Server no sabe cómo funcionar con la versión más reciente de Firefox. Debe descargar una versión más reciente de Selenium Server que sea compatible con la versión más reciente de Firefox.La razón del
Error: no display specified
error es que Firefox se está iniciando, pero no hay ningún servidor X (GUI) ejecutándose en el host remoto. Puede usar el reenvío X11 para ejecutar Firefox en el host remoto, pero mostrarlo en su host local. En Mac OS X, deberá descargar XQuartz para utilizar el reenvío X11.fuente
Debe verificar la compatibilidad del navegador antes de optar por probar con Selenium:
https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG
Esto podría ayudar a responder la pregunta anterior.
fuente
Obtenga los últimos frascos de selenio (2.30) para FireFox 19
Puede descargar los últimos frascos (2.31 al momento de la escritura) aquí: https://code.google.com/p/selenium/downloads/list
fuente
Resolví este problema bajando mi Firefox a una versión anterior que anteriormente había funcionado bien con Selenium-WebDriver. En mi caso, tuve que bajar a Firefox 18 y esta versión funcionó con Selenium 2.27
Aquí está el enlace para obtener versiones anteriores de firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
fuente
Este problema me ha perseguido durante mucho tiempo y he visto que una solución que funciona en el caso de Firefox era usar el controlador actualizado de Firefox .
Si las actualizaciones de Firefox se realizan automáticamente, es posible que de vez en cuando enfrente este problema. Parece que los chicos de Firefox se están desarrollando demasiado rápido o no les importa la compatibilidad con versiones anteriores.
Cada vez que veo este problema en mis scripts anteriores, verifico si la versión de Firefox ha cambiado desde entonces, la mayoría de las veces lo es.
Luego voy al repositorio de Maven para el repositorio del controlador de selenio firefox - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver y descargo la última versión.
o actualizar mi pom.xml (si se usa Maven) con la nueva versión del controlador de Firefox en este momento es - 2.40.0
No hay una manera fácil de evitar este problema a menos que realmente bloquee explícitamente la actualización automatizada de Firefox (puede hacer esto (en Mac) en las preferencias - Avanzado - Actualización - Seleccione "Buscar actualizaciones, pero déjame elegir si instalarlas" )
Si sus scripts se ejecutan en modo automatizado, es posible que desee deshabilitar las actualizaciones. Sin embargo, esto puede crear otros problemas. Dado que la mayoría de las personas / usuarios pueden tener las actualizaciones de Firefox habilitadas de forma predeterminada. Por lo tanto, su aplicación no se está probando realmente en ninguna versión posterior.
fuente
Tenía Firefox 47 y Selenium 2.53 , y obtuve el mismo error. Mi solución fue cambiar Firefox 47 a Firefox 46 , el problema se resolvió.
fuente
Actualice los tarros de selenio, descargue selenium 2.31.0
Este problema ha sido resuelto por los chicos de selenio
Este fue un problema de compatibilidad.
Salud
fuente
El problema con el script es que el entorno utilizado para el script no es el mismo que el utilizado para sus pruebas, por lo que establecer las variables de entorno no hace nada para sus pruebas.
Para establecer correctamente la variable, debe establecerla en Jenkins. Vaya a Administrar Jenkins> Administrar nodos> Maestro> Configurar . Marque la casilla de verificación Variables de entorno , luego ingrese DISPLAY en el cuadro de nombre y establezca el valor en: 1.0.
Además, deberá establecer permisos, intente deshabilitar sus controles de acceso xhost usando
xhost +
en el terminal.fuente
También enfrenté el mismo problema. Cada vez que nosotros o el webdriver se abran, el navegador FF buscará las actualizaciones, si las hay. En ese caso, intentaré actualizar durante el tiempo de ejecución y luego recibirá el error incluso si se actualiza correctamente solo porque no ha actualizado la versión de Selenium adecuadamente.
Vaya a " http://docs.seleniumhq.org/download/ " y descargue la última versión. Ahora ve y comprueba, el problema se resolvería, de hecho. :)
fuente
Tengo el mismo error; He usado selenium-java versión 2.25.0 y Firefox vresion 18.0.2; He cambiado la versión de selenium-java a 2.30.0 y ahora funciona.
fuente
Para resolver este problema, use nuevos archivos jar disponibles en http://docs.seleniumhq.org/download/ . Como corresponde a java, C #, php, etc ... Firefox 27.0.1 requiere la versión 2.39.0 del controlador.
fuente
Simplemente instale el complemento Xvnc en Jenkins. El problema debe ser resuelto.
fuente
Recibí el mismo error "selenium_Unable to connect to host 127.0.0.1 on port 7055" Solución: He usado selenium-java-2.48.2 con Firefox versión 43.0.1 y ahora funciona bien.
fuente
Yo también tuve el mismo problema, pero el problema se resuelve después de degradar la versión de Firefox a 35.0.1 y mi versión de selenio es 2.43
fuente
Tuve exactamente el mismo problema al ejecutar Docker, pero encontré la solución en el registro que precede al error que mencionaste.
He seguido los consejos y el problema ha sido resuelto.
fuente
Así es como se comportó cuando usé la propiedad estática de IWebDriver y la llamé desde múltiples métodos de prueba.
Me gusta
Solución
Para cada método de prueba de llamada, cree una nueva instancia de Driver
fuente
Actualice los frascos de selenio si nuestro script de selenio no se está ejecutando. Actualmente estoy usando selenium-java-2.43.0-srcs
Ahora está funcionando bien
fuente
Sucede en diferentes versiones de ff. Estoy usando la última versión 39 de ff usando selenium-server-standalone-2.41.0.jar y selenium-java-2.41.0.zip que muestra el mismo error.
Obtenga los últimos archivos jar de servidor y cliente aquí para la compatibilidad que utilicé las versiones de servidor y cliente 2.47.0 y 2.47.1 respectivamente. ¡Y bum! Funcionó.
fuente
Esto sucede debido a versiones anteriores. Simplemente actualice el navegador a la última versión y actualice el paquete de selenio webdriver a la última versión.
fuente
Simplemente reinicie la terminal. Terminal se cuelga nada más. Todo funcionará bien después de eso
fuente
Agregando a la base de conocimiento. Tuvimos el mismo problema con Bamboo. El problema se resolvió utilizando las Propiedades medioambientales en Bamboo.
Agregar el valor como propiedades del sistema en pom.xml o la línea de comando no funcionó.
fuente
En Windows: compruebe también la "bitness" de su Firefox. Firefox 43.0.1 64 bits no funciona con Selenium 2.50.0. Trabajando bien con Firefox 43.0.1 32bit ...
fuente
Yo también estuve atrapado en este error durante tres días y finalmente lo descubrí. Puedes ver la respuesta que he dado aquí . Este es un problema de compatibilidad del navegador y el servidor de selenio. Espero que esto ayude. Puede verificar la compatibilidad del navegador desde este enlace
fuente
Tuve el mismo problema hoy. Para solucionarlo, bajé la versión 51 a 47 de Firefox y está funcionando.
Nota: Estoy usando un Linux Ubuntu Mate, en una Virtual Box, con el host como otro Ubuntu Mate. Todos los sistemas operativos son de 64 bits y Firefox también.
fuente
Instalé Firefox Setup 18.0.exe, me funciona
fuente
Tuve el mismo problema con Firefox 38.
Después de usar las siguientes dependencias de versión, pude resolver el problema.
fuente
Creo que esto podría ser un problema de visualización. Si no tiene GUI en el cuadro, iniciar Firefox desde selenium webdriver daría este error.
Para resolver esto, primero instale Xvfb [
yum install Xvfb -y
] (un controlador de pantalla virtual) en el cuadro. Luego ejecuta tu prueba desde jenkins conxvfv-run -a -d <your test execution command>
. Esto iniciará el navegador en un búfer de pantalla virtual. También es capaz de obtener capturas de pantalla con selenium webdriver.fuente
Solución
1) Actualice su servidor Selenium, es decir, selenium jar "selenium-server-standalone-2.xx.x.JAR" TO "selenium-server-standalone-2.45.0.JAR"
2) Actualice su controlador de cliente Selenium, es decir, la carpeta selenium libs "selenium-java-2.xx.x" TO "selenium-java-2.45.0"
3) Verifique e instale la versión compatible de Firefox
Consulte - Descargue las bibliotecas y jar selenium actualizadas, es decir, la versión 2.45.0
Esto RESOLVERÁ tu problema. ¡Saludos!
fuente