spryker/docker-chromedriver

Chromedriver与Chromium的结合源,用于构建Docker容器和集成使用。

安装次数:1,259,347

依赖项: 10

建议者: 0

安全: 0

星标: 9

关注者: 10

分支: 2

开放问题: 1

语言:Shell

类型:自定义安装程序

dev-master 2022-12-28 16:44 UTC

This package is auto-updated.

Last update: 2024-09-22 08:36:56 UTC


README

这是一个创建具有内置DockerfileWebdriver镜像的示例,该镜像包含ChromeDriverChromium

使用方法

通用

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

软件

以下软件包含在此镜像中

注意

由于此包依赖于夜间构建版本,并非所有版本的Chromium都可供下载。要检查可用的修订版本,请访问Google Chromium快照存档并找到合适的快照修订版本。