You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Codeception+CakePHP4测试时更换Chromium遇未知驱动错误求助

解决Codeception + CakePHP4切换到Chromium时的驱动未知错误

问题根源

你的配置存在以下关键问题:

  • 安装了amd64架构的Chrome,与aarch64(ARM64)系统不兼容
  • ChromeDriver和Selenium Server版本过旧,无法适配现代Chromium
  • Selenium在镜像构建阶段启动,而非容器运行阶段,导致测试时无可用服务

步骤1:修正Dockerfile配置

替换原有的浏览器、驱动及Selenium安装代码,改为ARM64兼容方案:

# 安装基础依赖与ARM64版Chromium
RUN apt-get update && apt-get install -y --no-install-recommends \
    chromium \
    chromium-driver \
    openjdk-11-jre-headless \
    unzip \
    wget \
    && rm -rf /var/lib/apt/lists/*

# 下载支持ARM64的Selenium Server 4.x(示例为4.11.0版本)
RUN wget -O /etc/selenium-server.jar https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.11.0/selenium-server-4.11.0.jar

# 创建运行时启动脚本(启动Selenium和cron)
RUN echo '#!/bin/bash' > /start-services.sh && \
    echo 'java -jar /etc/selenium-server.jar --port 9515 &' >> /start-services.sh && \
    echo 'crond &' >> /start-services.sh && \
    echo 'exec "$@"' >> /start-services.sh && \
    chmod +x /start-services.sh

WORKDIR $APP_HOME
COPY . $APP_HOME

# 安装项目依赖
RUN composer install -n

# 设置容器入口点
ENTRYPOINT ["/start-services.sh"]
CMD ["apache2-foreground"] # 替换为你的应用启动命令,如php-fpm等

步骤2:调整acceptance.suite.yml配置

明确指定Chromium的二进制路径,确保WebDriver正确识别:

actor: AcceptanceTester
modules:
  enabled:
    - WebDriver:
        url: http://foo.bar
        port: 9515
        browser: chrome
        capabilities:
          "goog:chromeOptions":
            binary: "/usr/bin/chromium" # 指定Chromium执行文件路径
            args: ["--headless", "--disable-gpu", "--no-sandbox", "--disable-dev-shm-usage"]
        wait: 15
    - \Helper\Acceptance
    - Asserts
    - \Helper\AcceptanceHelper

验证要点

  1. 容器运行后,执行docker exec <container-id> chromium --version确认Chromium正常安装
  2. 执行docker exec <container-id> chromedriver --version验证驱动版本与Chromium匹配
  3. 检查Selenium服务端口监听:docker exec <container-id> netstat -tulpn | grep 9515

内容的提问来源于stack exchange,提问作者hassan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 23:27:07