javascript - habilitar - ¿Qué es un buen navegador sin cabeza para correr con un transportador?
habilitar javascript en chrome en windows (5)
Puedes ejecutar tus pruebas de Protractor contra CodeShip o Drone.io , which ofrecen Chrome y / o Firefox corriendo sin cabeza de forma gratuita. No realmente...
Nuevo usuario aquí.
Después de horas de desarrollar mis pruebas de humo y regresión, me enteré, después de leer muchos casos en línea, que se sabe que phantomjs es un problema para correr con el transportador. Jenkins ha estado ejecutando phantomjs para todas las tareas que se le han asignado hasta ahora.
Necesitan estas pruebas para ejecutarse como parte de ci que no tiene instalado un sistema de ventanas.
Así que agradecería que hubiera una recomendación para un navegador completamente sin cabeza o un cromo sin cabeza (que sería lo más beneficioso) y un paso a paso para configurarlo. Ya tengo un archivo conf.js y un archivo e2e.conf.js. Mi código funciona perfectamente bien con Chrome.
Estoy en un iMac y un controlador de web de selenio, creo.
Edición: Problema = el transportador no funciona con phantomjs. Lo que he hecho = uso diferentes elementos web y google si alguien ha enfrentado una situación similar. También buscó en Google para los navegadores sin cabeza que funcionaron para el transportador, incapaz de encontrar una solución adecuada.
Seguiría probando en los navegadores normales con una cabeza, pero usaría un servidor remoto de selenio como un servicio: Sauce Labs
o BrowserStack
, ver:
Si alguien llegó aquí, las respuestas están desactualizadas. Chromium (en la próxima versión) ahora admite el modo sin cabeza. no hay necesidad de trabajar duro
Puede leer más aquí:
https://developers.google.com/web/updates/2017/04/headless-chrome
Aquí hay un ejemplo de la línea de comandos.
chrome /
--headless / # Runs Chrome in headless mode.
--disable-gpu / # Temporarily needed for now.
--remote-debugging-port=9222 /
https://www.chromestatus.com # URL to open. Defaults to about:blank.
Y simplemente puede activar el transportador con capacidades para Chrome:
Activar las marcas de idioma de Chrome al activar desde el transportador (selenio)
Aquí está la configuración que estoy usando
capabilities: {
''browserName'': browserName,
chromeOptions: {
binary: ''/Users/guymograbi/Downloads/chrome-mac/Chromium.app/Contents/MacOS/Chromium'',
args: [''--headless'',''--disable-gpu'']
}
},
Actualización: las nuevas versiones de Chrome no requieren propiedades binary
En mis entornos, encontré que puedo eliminar la propiedad binary
, ya que la nueva versión de Chrome está disponible en sucursales estables.
Mi configuración del transportador es
capabilities: {
''browserName'': ''chrome'',
chromeOptions: {
args: [ ''--headless'', ''--disable-gpu'', ''--no-sandbox'', ''--window-size=1920x1200'' ]
},
},
Y funciona sin problemas durante semanas. muy recomendable.
Actualización: cómo hacer esto en karma es muy fácil
Usar cromo sin cabeza en karma es súper fácil:
browsers: ''ChromeHeadless''
Debería funcionar con el cargador de cromo y todo. más información
Si tienes instalado Chrome 59+, inicia Chrome con el siguiente indicador:
--headless
por favor avíseme si necesita más ayuda, escribirá la configuración para usted :) disfrute
Tu mejor apuesta es continuar con Chrome. Con un poco de trabajo, puede hacerlo funcionar a través de un CI y de una manera sin cabeza: lo hacemos utilizando los servidores Jenkins y Docker de Ubuntu, que son sin cabeza.
Deberá configurar Chrome para que se ejecute sin cabeza con XVFB. Puede comenzar siguiendo la esencia aquí https://gist.github.com/addyosmani/5336747
Dice que está en una Mac, por lo que puede ejecutar las pruebas sin cabeza a través de Docker en su máquina o puede configurar una segunda configuración para las pruebas de CI.
Otro recurso http://tobyho.com/2015/01/09/headless-browser-testing-xvfb/