在多个开发环境中匹配ChromeDriver版本和Chrome浏览器版本。

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

我正在运行由Protractor运行的Angular e2e测试。我在我的package.json里有这个脚本作为安装后脚本。

"postinstall": "cd ./node_modules/protractor && npm i webdriver-manager@latest && cd .. && ./.bin/webdriver-manager update"

在我的本地机器上,目前安装的是Chrome浏览器v81。这是Chrome浏览器的最新稳定版本。

然而,这个webdriver管理器是在ChromeDriver v83上运行的。Chrome浏览器v83还是一个测试版。所以,我需要手动下载它,这已经很奇怪了,最新的webdriver管理器在Chrome浏览器v83上运行。这已经很奇怪了,最新的webdriver应该和最新的稳定版浏览器匹配。

假设我是手动下载的。然而,这段代码是为在Jenkins上运行而写的。我有一个Docker文件,可以下载并安装最新的chrome到Linux机器上。我不可能一直硬编码驱动浏览器版本到dockerfile和package.json。

  curl -fsS https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
  && add-apt-repository 'deb http://dl.google.com/linux/chrome/deb/ stable main' \
  && curl -fsS https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
  && add-apt-repository "deb https://deb.nodesource.com/node_10.x $(lsb_release -cs) main" \
  && apt-get install -qq \
  google-chrome-stable \

而且,我使用的是MacOS,另一个开发者使用的是Windows机器。因此,如果我试图了解机器上安装的是哪个chrome版本,我需要为所有操作系统编写不同的脚本。

我应该如何处理这个问题?我是不是遗漏了什么?

angular selenium google-chrome selenium-webdriver protractor
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.