3

我正在使用 Protractor for Angular E2E Tests + Puppeteer 在所有 CI 服务器中获得一致的 Chrome 版本。

最近我收到SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 78错误。

虽然 puppeteer (1.20.0 -> Chromium 78.0.3882.0 ) 和 webdriver-manager 的安装版本是匹配的。

关于如何解决这个问题的任何想法?有关构建的更多信息,您可以在此处查看 CI 日志此处的项目

4

2 回答 2

4

我遇到了类似的问题,但是我的问题是 Chrome 81。

E/launcher - session not created: This version of ChromeDriver only supports Chrome version 81

我的解决方案是以下两个步骤:

1)不要让Angular在运行时为您安装最新的可用网络驱动程序ng e2e,方法是使用--webdriverUpdate标志并将其设置为false

2)使用webdriver-manager来自量角器并手动指定要使用的webdriver:

node_modules/protractor/bin/webdriver-manager update --versions.chrome=80.0.3987.106 --gecko false --standalone false

3)将此添加到“pree2e”步骤中,以便在 e2e 步骤之前自动执行:

"pree2e": "node_modules/protractor/bin/webdriver-manager update --versions.chrome=80.0.3987.106 --gecko false --standalone false"

要查看安装了哪些网络驱动程序,请使用node_modules/protractor/bin/webdriver-manager status.

https://github.com/angular/webdriver-manager/blob/legacy/docs/versions.md#download-a-specific-version

https://angular.io/cli/e2e#options

使用的版本:

"protractor": "5.4.3"
"puppeteer": "2.1.1"

Angular CLI: 9.1.0
Node: 12.2.0
OS: linux x64
于 2020-04-11T10:49:17.007 回答
2

几个月来,这一直是个问题。他们的 github repo 上有几个线程。我的解决方法是导航到~/node_modules/protractor并手动安装webdriver-manager@latest. 您应该会看到已安装 webdriver-manager@12.1.7。

> cd node_modules\protractor
> npm i webdriver-manager@latest
于 2019-10-24T23:50:12.003 回答