我正在使用 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 浏览器,但出现未知驱动程序错误
由于您没有提供确切的错误消息,所以我猜测错误是因为您的 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
这完全是一个猜测,所以,如果您的错误消息发生变化或得到解决方案,请告诉我。谢谢