Come eseguire l'elettrone all'interno di un'immagine docker alpina con Testcafe?

Aug 21 2020

Sto cercando di eseguire i miei test e2e per un'app di elettroni con Testcafe su gitlab all'interno di un'immagine docker.

Quindi utilizzo un'immagine docker di Testcafe che estendo solo installando yarn.

Lo script gitlab crea solo i miei test e2e (che ha esito positivo), ma l'elettrone non viene visualizzato e la pipeline si interrompe con questo errore:

$ /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)

Qualche suggerimento per risolvere questo errore?

Questo è il mio semplice file docker:

FROM testcafe/testcafe

USER root

RUN apk add --update yarn

Risposte

3 AndreyBelym Aug 21 2020 at 15:30

L'immagine Docker ufficiale di TestCafe utilizza Alpine come immagine di base. Electron non supporta Alpine in questo momento:https://github.com/electron/electron/issues/9662#issuecomment-420480342. Abbiamo in programma di offrire più immagini ufficiali, comprese quelle basate su Ubuntu, ma non posso darti alcun ETA su quando saranno disponibili:https://github.com/DevExpress/testcafe/issues/3100

Attualmente, puoi usare circleci / node: latest-browsers e installare TestCafe con npmse vuoi usare Electron con TestCafe e Docker.