【问题标题】:Webdriver manager downloads the latest version of chrome driver which is not supported for the latest chrome version for windowsWebdriver manager 下载最新版本的 chrome 驱动程序,Windows 的最新 chrome 版本不支持
【发布时间】:2021-07-09 22:00:12
【问题描述】:

我的 package.json 中有以下一行 -

"webdriver-manager": "^12.1.7",

当我的量角器代码在 jenkins 管道中运行时,它会抛出一个错误 -

[01:11:30] I/testLogger - [chrome #01-12] PID: 12008
[chrome #01-12] Specs: C:\coco-e2e-5-2-2021\coco-web-client\apps\coco-e2e\outputFiles\JSFiles\view-comms-docs-tbs\view-comms.spec.js
[chrome #01-12]
[chrome #01-12] [01:11:29] I/direct - Using ChromeDriver directly...
[chrome #01-12] [01:11:30] E/runner - Unable to start a WebDriver session.
[chrome #01-12] [01:11:30] I/runnerCli - session not created: This version of ChromeDriver only supports Chrome version 90
[chrome #01-12] Current browser version is 89.0.4389.128 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[chrome #01-12]   (Driver info: chromedriver=90.0.4430.24 (4c6d850f087da467d926e8eddb76550aed655991-refs/branch-heads/4430@{#429}),platform=Windows NT 10.0.18363 x86_64)

我从 Chrome 驱动的官方发布看到的是,最新的 chromedriver 版本是 90.0.4430.24。 但是 Windows 的最新 chrome 版本是 89.0.4389.128。这就是导致不匹配的原因。

Chrome 版本 90.0.4430.66 于 2021 年 4 月 14 日发布,但与 Android chrome 兼容,但与 windows chrome 不兼容。

现在如何调整我的代码,使其不会使用 chromerdriver v89.0.4389.23 而不是 v90.0.4430.24?

量角器测试不会在本地运行,而是通过 jenkins 在不同的系统上运行。因此,在本地更新 chromedriver 可能会解决我的调试问题,但不能解决在管道中运行测试的问题。

非常感谢任何潜在客户。提前致谢。

【问题讨论】:

  • 您可以使用 --versions.chrome 标志并传递您有兴趣下载的 chromedriver 版本。

标签: protractor webdriver selenium-chromedriver package.json webdriver-manager


【解决方案1】:

您真正需要做的是将本地chrome的版本与chromedriver的版本匹配(驱动程序是控制您的浏览器的层,因此使它们相互对应很重要)。所以

首先,找出您的 chrome 版本。比如86.0.4240.111

然后,找出可以使用的chromedriver版本。获取浏览器的主要版本(前 3 个数字,在本例中为 86.0.4240)并通过转到此 url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_VERSION} 找到相应的驱动程序版本(放置主要浏览器版本而不是 ${CHROME_VERSION})。你会看到你要找的chromedriver是86.0.4240.22

这是最棘手的部分开始的地方。量角器通常有两种安装方式:

  • 本地
  • 全球

我不会详细介绍如何找到你使用的那个,你可以查一下。但是当你找到它时,请确保你更新的是正确的

当您知道要更新哪个量角器后,转到它的文件夹并从该文件夹运行npm i webdriver-manager@latest,然后运行node ./bin/webdriver-manager update --gecko=false

当你更新了正确的 webdriver 后,像这样安装正确的 chromedriver

node ./bin/webdriver-manager update --gecko=false --versions.chrome $VERSION

确保输入86.0.4240.22 而不是$VERSION

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多