Como executar o elétron dentro de uma imagem docker alpina com Testcafe?
Estou tentando executar meus testes e2e para um aplicativo de elétrons com Testcafe no gitlab dentro de uma imagem docker.
Portanto, eu uso uma imagem docker do Testcafe que só estendo instalando yarn.
O script gitlab apenas cria meus testes e2e (que são bem-sucedidos), mas o elétron não aparece e o pipeline para com este erro:
$ /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)
Alguma sugestão para resolver este erro?
Este é o meu arquivo docker simples:
FROM testcafe/testcafe
USER root
RUN apk add --update yarn
Respostas
A imagem oficial do TestCafe Docker usa Alpine como imagem base. Electron não suporta Alpine agora:https://github.com/electron/electron/issues/9662#issuecomment-420480342. Temos planos de oferecer mais imagens oficiais, incluindo as baseadas no Ubuntu, mas não posso dar um ETA de quando elas estarão disponíveis:https://github.com/DevExpress/testcafe/issues/3100
Atualmente, você pode usar circleci / node: latest-browsers e instalar TestCafe npmse quiser usar Electron com TestCafe e Docker.