¿Cómo ejecutar electrón dentro de una imagen de Docker alpino con Testcafe?

Aug 21 2020

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

3 AndreyBelym Aug 21 2020 at 15:30

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 npmsi desea usar Electron con TestCafe y Docker.