Как запустить электрон в образе alpine docker с помощью Testcafe?

Aug 21 2020

Я пытаюсь запустить свои тесты e2e для электронного приложения с Testcafe на gitlab внутри образа докера.

Поэтому я использую образ докера от Testcafe, который я расширяю только путем установки yarn.

Сценарий gitlab просто создает мои тесты e2e (что успешно), но электрон не появляется, и конвейер останавливается с этой ошибкой:

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

Есть предложения по устранению этой ошибки?

Это мой простой файл докеров:

FROM testcafe/testcafe

USER root

RUN apk add --update yarn

Ответы

3 AndreyBelym Aug 21 2020 at 15:30

Официальный образ Docker TestCafe использует Alpine в качестве базового образа. Electron сейчас не поддерживает Alpine:https://github.com/electron/electron/issues/9662#issuecomment-420480342. У нас есть планы предложить больше официальных образов, в том числе на основе Ubuntu, но я не могу сообщить вам ETA относительно того, когда они будут доступны:https://github.com/DevExpress/testcafe/issues/3100

В настоящее время вы можете использовать circleci / node: latest-browsers и установить TestCafe с помощью, npmесли хотите использовать Electron с TestCafe и Docker.