Al estar basado en Chromium, Electron requiere un controlador para funcionar. Si chromium no puede encontrar un controlador de pantalla, Electron no se lanzará y por lo tanto no ejecuta ningunas de sus pruebas, independientemente de como usted las está corriendo. Probar aplicaciones basadas en Electron en Travis, Circle, Jenkins o sistemas similares requiere un poco de configuración. En esencia, necesitamos un controlador de pantalla virtual.
Primero, instala Xvfb. Es un framebuffer virtual, implementando el protocolo de servidor de pantalla X11 - realiza todas las operaciones gráficas en la memoria sin mostrar nada en el monitor, que es exactamente lo que necesitamos.
Entonces, crea una pantalla virtual Xvfb y exporta una variable de entorno llamada DISPLAY que apunta a ella. Chromium en electron buscará automáticamente por $DISPLAY
, así que su aplicación no requerirá más configuraciones. Este paso puede ser automatizado con Anaïs Betts' xvfb-maybe: prepara tus pruebas de comandos con xvfb-maybe
y la pequeña herramienta automáticamente configurará Xvfb, si es requerido por el sistema actual. En Windows o macOS, no hará nada.
## En Windows o macOS, esto invoca electron-mocha
## En Linux, si estamos en un entorno sin cabeza, esto será equivalente
## a xvfb-run electron-mocha ./test/*.js
xvfb-maybe electron-mocha ./test/*.js
En Travis, su . travis.yml
debería verse más o menos así:
addons:
apt:
packages:
- xvfb
install:
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
Para Jenkins, un plugin de Xvfb está disponible.
Circle CI es impresionante y tiene xvfb y $DISPLAY
ya configurados, por lo que no es necesaria ninguna configuración adicional.
AppVeyor corre en Windows, soportando Selenium, Chromium, electron y herramientas fuera de la caja similares - no se requiere configuración.