1

目前我正在进行量角器 UI 测试。到目前为止,我的测试用例工作正常,但突然出现了 webdriver 问题。我当前的 chrome 版本是 84。但是 selenium 驱动程序需要 85 版本。85 版本仍然没有发布。

[14:56:46] E/launcher - session not created: This version of ChromeDriver only supports Chrome version 85
  (Driver info: chromedriver=85.0.4183.38 (9047dbc2c693f044042bbec5c91401c708c7c26a-refs/branch-heads/4183@{#779}),platform=Windows NT 10.0.17134 x86_64)
[14:56:46] E/launcher - SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 85
  (Driver info: chromedriver=85.0.4183.38 (9047dbc2c693f044042bbec5c91401c708c7c26a-refs/branch-heads/4183@{#779}),platform=Windows NT 10.0.17134 x86_64)
4

3 回答 3

1

使用 webdriver-manager 指定您的 chromedriver 版本,或者在运行 e2e 测试时使用 --webdriverUpdate=false

(见:https ://github.com/angular/protractor/issues/5460 )

于 2020-07-24T14:26:43.373 回答
0

尽管 Chrome 84 是当前的稳定版本,但webdriver-manager正在安装 ChromeDriver 85似乎存在问题。多人报告了这个问题。

在 issue 376 中发布了一个解决方法

总的来说,你可以在使用 webdriver-manager 时临时硬编码你想要的版本,然后告诉 protractor 使用哪个版本(因为 protractor 仍然可以尝试安装 85 并使用它)。

这是复制的解决方法:

  1. 我们将 webdriver-manager 安装为项目依赖项(npm install --save-dev webdriver-manager

  2. 我们webdriver-manager update --versions.chrome 84.0.4147.30在运行测试之前调用。这将在 ./node_modules/webdriver-manager/selenium/ 中安装 84 chromedriver 版本。(我们只是在 package.json 中将其作为 npm 脚本制作)

  3. 然后我们更新 protractor.conf 文件以在 export.config 的根目录中包含这一行:chromeDriver:"./node_modules/webdriver-manager/selenium/chromedriver_84.0.4147.30.exe"**

Protractor 仍然安装 chromedriverr 85,但它会使用 84 版本。

** 在我们的例子中,我们在 docker 中运行量角器测试,但主要在 Windows 上开发。所以我更新了 protractor.conf 以拥有这一行,以便它可以在以下任一情况下工作: chromeDriver: process.platform === "win32" ? "./node_modules/webdriver-manager/selenium/chromedriver_84.0.4147.30.exe" : "./node_modules/webdriver-manager/selenium/chromedriver_84.0.4147.30"

于 2020-07-24T16:05:26.027 回答
0

我遇到了同样的问题,但是当我更新最新版本的量角器 7.0.0 时它起作用了

于 2020-07-27T10:27:15.473 回答