会话未创建:此版本的ChromeDriver仅支持八达通的Chrome版本79

时间:2019-12-26 07:25:29

标签: google-chrome selenium-webdriver npm protractor selenium-chromedriver

我正在尝试使用具有以下配置的章鱼来运行“ ng e2e”命令,但始终会出现以下错误:

[07:20:37] E/launcher - session not created: This version of ChromeDriver only supports Chrome version 79
  (Driver info: chromedriver=79.0.3945.16 (93fcc21110c10dbbd49bbff8f472335360e31d05-refs/branch-heads/3945@{#262}),platform=Windows NT 10.0.14393 x86_64)
[07:20:37] E/launcher - SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 79
  (Driver info: chromedriver=79.0.3945.16 (93fcc21110c10dbbd49bbff8f472335360e31d05-refs/branch-heads/3945@{#262}),platform=Windows NT 10.0.14393 x86_64)
    at Object.checkLegacyResponse (D:\a\1\s\node_modules\selenium-webdriver\lib\error.js:546:15)
    at parseHttpResponse (D:\a\1\s\node_modules\selenium-webdriver\lib\http.js:509:13)
    at D:\a\1\s\node_modules\selenium-webdriver\lib\http.js:441:30
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
From: Task: WebDriver.createSession()
    at Function.createSession (D:\a\1\s\node_modules\selenium-webdriver\lib\webdriver.js:769:24)
    at Function.createSession (D:\a\1\s\node_modules\selenium-webdriver\chrome.js:761:15)
    at Direct.getNewDriver (D:\a\1\s\node_modules\protractor\built\driverProviders\direct.js:77:33)
    at Runner.createBrowser (D:\a\1\s\node_modules\protractor\built\runner.js:195:43)
    at D:\a\1\s\node_modules\protractor\built\runner.js:339:29
    at _fulfilled (D:\a\1\s\node_modules\protractor\node_modules\q\q.js:834:54)
    at D:\a\1\s\node_modules\protractor\node_modules\q\q.js:863:30
    at Promise.promise.promiseDispatch (D:\a\1\s\node_modules\protractor\node_modules\q\q.js:796:13)
    at D:\a\1\s\node_modules\protractor\node_modules\q\q.js:556:49
    at runSingle (D:\a\1\s\node_modules\protractor\node_modules\q\q.js:137:13)
[07:20:37] E/launcher - Process exited with error code 199
An unexpected error occurred: undefined
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! rebar-spa-v2-template@0.0.3 e2e: `ng e2e`

配置为:

  • user-agent =“ npm / 6.12.1 node / v12.13.1 win32 x64”

Protractor.conf.js:

capabilities: {
    'browserName': 'chrome',
    chromeOptions: {
      args: ['--headless', '--disable-gpu', '--window-size=800,600']
    }
  },

Package.json:尝试了两种解决方案

后安装:webdriver-manager update --versions.chrome 79.0.3945.36

安装后:cd ./node_modules/protractor && npm i webdriver-manager@latest

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

此错误消息...

session not created: This version of ChromeDriver only supports Chrome version 79 (Driver info: chromedriver=79.0.3945.16 (93fcc21110c10dbbd49bbff8f472335360e31d05-refs/branch-heads/3945@{#262}),platform=Windows NT 10.0.14393 x86_64)

...表示 ChromeDriver 无法启动/产生新的浏览上下文,即 Chrome浏览器会话。

您的主要问题是所使用的二进制版本之间的不兼容性

  

支持 Chrome v79

  • 大概您正在使用 chrome chrome = 79.0
  • 以外的版本
  • 可能以下命令失败:

    webdriver-manager update --versions.chrome 79.0.3945.36
    

因此 ChromeDriver v79.0 与您当前的 Chrome浏览器

之间存在明显的不匹配

解决方案

确保以下提到的步骤可以解决该问题:

  • 您可能需要清理一次:

    webdriver-manager clean
    
  • 您拥有的最新版本,可以使用以下命令安装该版本:

    webdriver-manager@latest --save
    
  • 执行以下命令将解决您的问题:

    webdriver-manager update
    
  • Chrome 升级到最新的稳定版本:

    webdriver-manager update --versions.chrome 79.0.3945.88
    

答案 1 :(得分:0)

当我的系统在后台下载 Chrome 90 时,我收到了这条消息,尽管我的浏览器仍然显示 89(公平地说,它提示我更新)。我尝试了一些东西,但最后我只运行了 npm uninstall chromedriver,然后运行了 npm install chromedriver,一切又开始工作了。不理想,但我很高兴我的测试能够运行。

编辑:

我注意到运行上述命令更新了我的 package.json 文件,因此它现在在其中显示 "chromedriver": "^90.0.0"。我猜我可以自己更改版本并运行 npm install chromedriver 来下载更新的驱动程序文件。下次我试试。

答案 2 :(得分:0)

我的原因是 chromedriver 是全局安装的。只需要做npm i chromedriver -g