spryker / docker-chromedriver
Chromedriver与Chromium的结合源,用于构建Docker容器和集成使用。
This package is auto-updated.
Last update: 2024-09-22 08:36:56 UTC
README
这是一个创建具有内置Dockerfile的Webdriver镜像的示例,该镜像包含ChromeDriver和Chromium。
使用方法
通用
spryker/chromedriver
镜像在Docker Hub上公开可用。您可以使用此存储库在Docker中运行和安装Chromedriver,并在其中使用适当版本的Chromium。
Docker
spryker/chromedriver
在Docker Hub上可用。默认情况下,它将在端口4444
上启动Chromedriver服务器。反过来,Chromedriver将Webdriver包装起来,在Chromium
环境中运行测试。
以下是非常基本的docker-compose配置,足以在您的环境中使用Chromium和Chromedriver。
version: "3.7" services: chromedriver: image: spryker/chromedriver init: true environment: - CHROMIUM_VERSION=726767 volumes: - ./assets:/home/webdriver/assets:ro expose: - "4444"
您只需在docker-compose模板中放入CHROMIUM_REVISION
环境变量即可控制Chromium(以及Chromedriver)的版本(如上所述)。
Composer
要安装带有Chromium的Chromedriver,只需运行以下命令
composer require --dev "spryker/docker-chromedriver"
并修改composer.json
文件以执行所有必要的安装操作
{ "scripts": { "post-install-cmd": [ "ChromedriverInstaller\\Installer::installChromedriver" ], "post-update-cmd": [ "ChromedriverInstaller\\Installer::installChromedriver" ] } }
这将导致安装最新版的Chromedriver和Chromium。
要冻结Chromedriver的版本,您可以取任何修订号,并在composer.json
配置中提及它(请确保您的修订版包含Chromedriver和Chromium存档)。
{ "config": { "chromium-revision": 814168 } }
下次您运行Composer install/update时,脚本将检查修订号是否已更改或与最新/固定版本不同。如果是这样,它将安装实际的Chromedriver版本。否则,不会发生任何事情。这是为了减少Composer的工作时间。
跳过安装
要忽略Chromedriver的安装过程,请在运行Composer之前设置适当的变量
export COMPOSER_IGNORE_CHROMEDRIVER=1
这将强制在Composer运行期间跳过安装程序。
Travis CI
要在此包中使用Travis镜像,您只需使用chromium-installer
准备Chromium和Chromedriver即可。
首先,您需要指定缓存目录
cache: directories: - $HOME/chromium-ecosystem
然后下载并解压缩安装程序
before_install: # Chromedriver section - curl -L "https://github.com/spryker/docker-chromedriver/archive/master.zip" -o $HOME/chromium-ecosystem/chromiumdriver.zip - unzip -o $HOME/chromium-ecosystem/chromiumdriver.zip -d $HOME/chromium-ecosystem/ # Here you can leave 0 for installing latest nightly build - export CHROMEDRIVER_REVISION=814168
最后运行安装程序
# Exposes ${CHROMEDRIVER_BINARY} and ${CHROMIUM_BINARY} - . $HOME/chromium-ecosystem/chromiumdriver-master/chromium-installer $CHROMEDRIVER_REVISION $HOME/chromium-ecosystem false
最后,确保您已添加所有运行Chromium
所需的依赖项
addons: apt: update: true packages: - unzip - gnupg - libnss3-dev - ca-certificates - fonts-liberation - libappindicator3-1 - libasound2 - libatk-bridge2.0-0 - libatk1.0-0 - libc6 - libcairo2 - libcups2 - libdbus-1-3 - libexpat1 - libfontconfig1 - libgbm1 - libgcc1 - libglib2.0-0 - libgtk-3-0 - libnspr4 - libnss3 - libpango-1.0-0 - libpangocairo-1.0-0 - libstdc++6 - libx11-6 - libx11-xcb1 - libxcb1 - libxcomposite1 - libxcursor1 - libxdamage1 - libxext6 - libxfixes3 - libxi6 - libxrandr2 - libxrender1 - libxss1 - libxtst6 - lsb-release - wget - xdg-utils
就这样!现在您可以只需运行Chromedriver
并将正确的Chromium
可执行文件传递给Webdriver配置
script: - bash -c "${CHROMEDRIVER_BINARY} --port=4444 --whitelisted-ips= --url-base=/wd/hub --log-path=/tmp/chromedriver.log --log-level=DEBUG" > /dev/null &
依赖项
要使用Chromium运行Chromedriver,您需要事先安装以下列表中的依赖项
apt-get update && apt-get install gnupg \
libnss3-dev \
ca-certificates \
fonts-liberation \
libappindicator3-1 \
libasound2 \
libatk-bridge2.0-0 \
libatk1.0-0 \
libc6 \
libcairo2 \
libcups2 \
libdbus-1-3 \
libexpat1 \
libfontconfig1 \
libgbm1 \
libgcc1 \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libstdc++6 \
libx11-6 \
libx11-xcb1 \
libxcb1 \
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxi6 \
libxrandr2 \
libxrender1 \
libxss1 \
libxtst6 \
lsb-release \
wget \
xdg-utils
软件
以下软件包含在此镜像中
- ChromeDriver(最新版)
- Chromium项目(最新版)
注意
由于此包依赖于夜间构建版本,并非所有版本的Chromium都可供下载。要检查可用的修订版本,请访问Google Chromium快照存档并找到合适的快照修订版本。