我正在尝试使用具有以下配置的章鱼来运行“ 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`
配置为:
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
任何帮助将不胜感激。
答案 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
可能以下命令失败:
webdriver-manager update --versions.chrome 79.0.3945.36
因此 ChromeDriver v79.0 与您当前的 Chrome浏览器
之间存在明显的不匹配确保以下提到的步骤可以解决该问题:
您可能需要清理一次:
webdriver-manager clean
您拥有webdriver-manager的最新版本,可以使用以下命令安装该版本:
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