Como executar o elétron dentro de uma imagem docker alpina com Testcafe?

Aug 21 2020

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

3 AndreyBelym Aug 21 2020 at 15:30

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.