运行量角器测试时,ChromeDriver 和 Chrome 之间的版本不匹配,但没有可用的更新



我正试图在我的Angular应用程序上运行Protractor测试,但我的ChromDriver版本与我的Chrome版本不匹配。

我可以很好地运行webdriver-manager start,没有任何问题,但当我尝试运行测试时,我会收到以下错误消息:

SessionNotCreatedError:会话未创建:此版本的ChromeDriver仅支持Chrome版本85构建信息:版本:"3.141.59",修订:"e82be7d358",时间:"2018-11-14T08:25:53">

我检查了我的Chrome&即版本84。但当我尝试更新Chrome时,它说我的版本是最新的。

所以我有两个问题:

(1( 为什么这个最新版本(85(的Chrome对我来说不可用?

(2( 有没有一种方法可以让我的网络驱动程序降级,让它使用Chrome的84版本?

我也在这里回答了这个问题:https://github.com/angular/protractor/issues/5460最简单的修复方法是使用:

webdriver-manager update --versions.chrome=84.0.4147.30
webdriver-manager start --versions.chrome=84.0.4147.30

以更新和启动webdriver服务器。这迫使版本保持在84。我认为chromedriver的v85版本被添加并标记为最新版本(你可以在这里看到(,这迫使webdriver管理器开始下载85版本(默认情况下下载最新版本(。

如果您通常不使用webdriver-manager start启动webdriver管理器服务器。这里是另一个你可以尝试的解决方案,我也在关于网络驱动程序管理器问题的讨论中发布了376

以下是复制的解决方案(这只是一个权宜之计,因为显然我们不想硬编码版本(:

  1. 我们安装了作为项目依赖项(npm install --save-dev webdriver-manager(的网络驱动程序管理器

  2. 我们在运行测试之前调用CCD_ 4。这将在中安装84 chromedriver版本/node_modules/webdriver-manager/selenium/。(我们刚刚在我们的包.json中将其作为npm脚本制作(

  3. 然后,我们更新dractor.conf文件,使其在exports.config:chromeDriver:"./node_modules/webdriver-manager/selenium/chromedriver_84.0.4147.30.exe"**的根目录中有此行

Protractor仍然安装chromedriver85,但它将使用84版本。

**在我们的案例中,我们在docker中运行量角器测试,但主要在windows上开发。因此,我更新了量角器.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"

相关内容

最新更新