在 Mac m1 arm64 上安装 Chrome 浏览器

问题描述 投票:0回答:1

我正在使用 Codeception 和 Cakephp4 进行测试。我尝试使用 chromium 浏览器而不是 chrome,但出现此错误:

系统信息:主机:'f1c4f5d6ba86',ip:'172.28.0.2',os.name:'Linux',os.arch:'aarch64',os.version:'5.15.49-linuxkit',java.version: '11.0.20.1' 驱动程序信息:driver.version:未知

下面是dockerfile中安装chrome的部分:

# Install chrome web driver
RUN cd etc/ && wget https://selenium-release.storage.googleapis.com/3.13/selenium-server-standalone-3.13.0.jar
RUN wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip
RUN unzip chromedriver_linux64.zip && rm chromedriver_linux64.zip && mv chromedriver /usr/bin/chromedriver
RUN chmod +x /usr/bin/chromedriver

RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN dpkg -i google-chrome*.deb
RUN rm google-chrome*.deb

WORKDIR $APP_HOME
COPY . $APP_HOME

# Copy cron job we want to run and start cron service
RUN crontab etc/test-cron

# Run selenium
RUN java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar etc/selenium-server-standalone-3.13.0.jar -port 9515 &

# Install
RUN composer install -n

这是我的acceptance.suite.yml:

actor: AcceptanceTester
modules:
  enabled:
    - WebDriver:
        url: http://foo.bar
        port: 9515 # This should be the port for the Chromium WebDriver
        browser: chrome # Use Chromium
        capabilities:
          "goog:chromeOptions":
            args: ["--headless", "--disable-gpu", "--no-sandbox", "--disable-dev-shm-usage"]
        wait: 15
    - \Helper\Acceptance
    - Asserts
    - \Helper\AcceptanceHelper

我尝试使用 Chromium 浏览器,但出现未知驱动程序错误

docker macos selenium-chromedriver codeception
1个回答
0
投票

由于您没有提供确切的错误消息,所以我猜测错误是因为您的 chrome 驱动程序未运行。

您提到了端口 9515,这很好。现在您可以通过运行在单独的终端选项卡中启动 chromedriver

chromedriver

或者您可以简单地修改您的代码,如下所示

actor: AcceptanceTester
extensions:
    enabled:
        - Codeception\Extension\RunProcess:
              0: chromedriver --url-base=wd/hub
              sleep: 1
              wait: 15
modules:
    enabled:
        - WebDriver:
              url: http://foo.bar
              port: 9515 # This should be the port for the Chromium WebDriver
              browser: chrome # Use Chromium
              capabilities:
                  "goog:chromeOptions":
                      args: ["--headless", "--disable-gpu", "--no-sandbox", "--disable-dev-shm-usage"]
        - \Helper\Acceptance
        - Asserts
        - \Helper\AcceptanceHelper

这完全是一个猜测,所以,如果您的错误消息发生变化或得到解决方案,请告诉我。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.