Docker运行Cypress测试提示Chrome未找到的问题求助
排查Docker中Cypress镜像无法识别Chrome的问题(MacBook环境)
以下是针对MacBook环境下,cypress/included镜像无法调用Chrome的排查步骤和解决方法:
手动指定Chrome路径
先进入容器确认Chrome的实际安装路径:docker run -it --entrypoint bash cypress/included:10.3.1在容器内执行
find / -name chrome 2>/dev/null找到Chrome的绝对路径(比如可能是/usr/bin/chromium或/opt/google/chrome/chrome)。之后启动测试时手动指定该路径:docker run -it -v $PWD:/e2e -w /e2e cypress/included:10.3.1 --browser /opt/google/chrome/chrome添加IPC共享内存参数
Mac上Docker容器默认的共享内存配额不足以支撑Chrome运行,添加--ipc=host参数解决这个问题:docker run -it --ipc=host -v $PWD:/e2e -w /e2e cypress/included:10.3.1 --browser chrome切换到cypress/browsers镜像
cypress/included镜像偶尔会出现浏览器打包不完整的情况,改用专门的浏览器镜像cypress/browsers,选择匹配Cypress 10.3.1的node和浏览器版本(比如node16.x + chrome105):docker run -it -v $PWD:/e2e -w /e2e cypress/browsers:node16.16.0-chrome105-ff104 npx cypress run --browser chrome容器内手动安装Chrome
如果确认镜像内没有Chrome,进入容器后手动安装:docker run -it --entrypoint bash cypress/included:10.3.1 apt-get update && apt-get install -y chromium-browser ln -s /usr/bin/chromium-browser /usr/bin/chrome安装完成后在容器内直接运行
npx cypress run --browser chrome测试。
内容的提问来源于stack exchange,提问作者Doctor Who
相关产品推荐
相关产品推荐

