¿Cómo ejecutar electrón dentro de una imagen de Docker alpino con Testcafe?
Estoy tratando de ejecutar mis pruebas e2e para una aplicación electrónica con Testcafe en gitlab dentro de una imagen acoplable.
Por lo tanto, utilizo una imagen de Docker de Testcafe que solo extiendo instalando yarn
.
El script de gitlab simplemente construye mis pruebas e2e (que tiene éxito), pero el electrón no aparece y la canalización se detiene con este error:
$ /opt/testcafe/docker/testcafe-docker.sh electron:./ci ./test/e2e/ --screenshots takeOnFails=true
Using locally installed version of TestCafe.
Error: spawn /builds/myFancyProject/node_modules/electron/dist/electron ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
at onErrorNT (internal/child_process.js:469:16)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
¿Alguna sugerencia para solucionar este error?
Este es mi archivo de ventana acoplable simple:
FROM testcafe/testcafe
USER root
RUN apk add --update yarn
Respuestas
La imagen oficial de TestCafe Docker usa Alpine como imagen base. Electron no es compatible con Alpine en este momento:https://github.com/electron/electron/issues/9662#issuecomment-420480342. Tenemos planes de ofrecer más imágenes oficiales, incluidas las basadas en Ubuntu, pero no puedo darte ninguna ETA sobre cuándo estarán disponibles:https://github.com/DevExpress/testcafe/issues/3100
Actualmente, puede usar circleci / node: latest-browsers e instalar TestCafe con npm
si desea usar Electron con TestCafe y Docker.