使用 Protractor 5.4.2 时,webdriver-manager 下载与 Chrome 74 不兼容的 2.46

When using Protractor 5.4.2, webdriver-manager downloads 2.46 which is not compatible with Chrome 74

Protractor 5.4.2 使用 webdriver-manager 12 下载 Chromedriver 2.46。 Chrome驱动程序 2.46 支持 Chrome 71-73(参见 http://chromedriver.chromium.org/downloads)。我们需要下载Chrome驱动74.0.3729.6.

我也看到有一个webdriver-manager@13支持这个。我应该将它与 Protractor 5.4.2 一起使用吗?

webdriver-manager@12.1.4 已修复

webdriver-manager 发布 12.1.4 将下载最大 Chrome驱动程序版本 74。如何获取?

  • 重新安装您的节点模块目录(删除 node_modules 文件夹并执行 npm install
  • 执行强制安装npm install -f

如果您想下载 74.x.x.x 中特定的版本,此问题已在 12.1.4 中修复。当我试图快速修复 12.1.3 中的问题时,我引入了一个错误,导致它不起作用。

webdriver-manager 下载背景 Chrome驱动程序 2.xx

webdriver-manager 下载的文件基于 https://chromedriver.storage.googleapis.com/ 下载的版本被格式化为 2.xx。这些没有映射到 Chrome 的版本。为了进行语义版本比较,我们将附加一个 '.0' 以使用 semver 节点模块进行比较。

此假设不适用于 ChromeDriver 74 (74.0.3729.6) 的新版本。这就是它没有下载文件的原因。此更改大约发生在 2018 年 8 月。当此更改发生时,已将修复程序添加到即将发布的 webdriver-manager 13 版本中。

那为什么不使用 webdriver-manager@13 呢?这不适用于 Protractor 5.4.2 的一些原因:

  • 此修复适用于 webdriver-manager 13,但 Protractor 5.4.2 依赖于 webdriver-manager ^12.0.6。解析下载的文件时,安装另一个版本的 webdriver-manager 可能无法正常工作。
  • 这在使用直接连接启动 Protractor 时不起作用(driverProviders/direct) or local since the update-config.json file is not created. There is a fix for this here: https://github.com/angular/webdriver-manager/pull/372 但可能不会合并。

webdriver-manager@12怎么下载74的最大版本?

对于 webdriver-manager@12,最大版本存储在这里:https://github.com/angular/webdriver-manager/blob/legacy/config.json#L5 如果 Chrome 发布 75,这也应该在对遗留分支的拉取请求中更改为版本 75 .

尝试在本地和全局安装 chromedriver v. 74.0.3729.6 (Chrome 74)

全局安装运行

webdriver-manager update --versions.chrome 74.0.3729.6

本地安装运行类似

node ./node_modules/protractor/bin/webdriver-manager update --versions.chrome 74.0.3729.6

驱动程序版本列表在这里http://chromedriver.chromium.org/downloads

您可能会遇到这个问题update protractor chrome driver to 74, 在那里看到我的评论

如果您运行遇到问题请告诉我