Testcafeで高山のDockerイメージ内で電子を実行する方法は?

Aug 21 2020

Dockerイメージ内のgitlabでTestcafeを使用して電子アプリのe2eテストを実行しようとしています。

そのため、インストールすることによってのみ拡張するTestcafeのDockerイメージを使用し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)

このエラーを解決するための提案はありますか?

これは私の単純なdockerファイルです:

FROM testcafe/testcafe

USER root

RUN apk add --update yarn

回答

3 AndreyBelym Aug 21 2020 at 15:30

公式のTestCafeDockerイメージは、ベースイメージとしてAlpineを使用します。Electronは現在Alpineをサポートしていません:https://github.com/electron/electron/issues/9662#issuecomment-420480342。Ubuntuベースの画像を含め、より多くの公式画像を提供する予定ですが、いつ利用可能になるかについてETAを提供することはできません。https://github.com/DevExpress/testcafe/issues/3100

現在、ElectronをTestCafeおよびDockerで使用する場合は、circleci / node:latest-browsersを使用してTestCafeをインストールnpmできます。