19

在大厅执行 e2e 测试时,我收到以下错误,看起来 chromedriver 没有得到更新。虽然类似的问题正在讨论有关 chrome 版本落后的问题,但就我而言,chrome 稳定版正在按预期下载(76.0.3809.100)。但是被量角器的 webmanager 驱动程序拉取的 chromedriver 版本卡在 2.46 中。

我尝试手动将 chromedriver 从 2.46 更新到 76.0.3809.12,但在执行过程中它仍然回落到 2.46。

#!/bin/bash

set -e -u -x

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -

sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'

apt-get update && apt-get install -y google-chrome-stable

cd git-platformUI/ui

npm install

npm set progress=false && npm config set depth 0 && npm cache clean --force

$(npm bin)/ng e2e --configuration=$CONFIG

[07:33:13] E/launcher - 未创建会话:Chrome 版本必须介于 71 和 75 之间(驱动程序信息:chromedriver=2.46.628388(4a34a70827ac54148e092aafb70504c4ea7ae926),平台=Linux 4.15.0-36-generic x86_64)[07 :33:13] E/launcher - SessionNotCreatedError: session not created: Chrome version must be between 71 and 75 (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),platform=Linux 4.15.0-36-generic x86_64) 在 Object .checkLegacyResponse (/tmp/build/357f536d/git-platformUI/ui/node_modules/selenium-webdriver/lib/error.js:546:15) 在 parseHttpResponse (/tmp/build/357f536d/git-platformUI/ui/node_modules/ selenium-webdriver/lib/http.js:509:13) 在 doSend.then.response (/tmp/build/357f536d/git-platformUI/ui/node_modules/selenium-webdriver/lib/http.js:441:30)在过程中。_tickCallback (internal/process/next_tick.js:188:7) 来自:任务:WebDriver.createSession() at Function.createSession (/tmp/build/357f536d/git-platformUI/ui/node_modules/selenium-webdriver/lib/webdriver .js:769:24) 在 Function.createSession (/tmp/build/357f536d/git-platformUI/ui/node_modules/selenium-webdriver/chrome.js:761:15) 在 Direct.getNewDriver (/tmp/build/357f536d /git-platformUI/ui/node_modules/protractor/built/driverProviders/direct.js:77:33) 在 Runner.createBrowser (/tmp/build/357f536d/git-platformUI/ui/node_modules/protractor/built/runner.js :195:43) 在 q.then.then (/tmp/build/357f536d/git-platformUI/ui/node_modules/protractor/built/runner.js:339:29) 在 _fulfilled (/tmp/build/357f536d/git -platformUI/ui/node_modules/q/q.js:834:54) 在 self.promiseDispatch。在 Promise.promise.promiseDispatch (/tmp/build/357f536d/git-platformUI/ui/node_modules/q /q.js:796:13) 在 /tmp/build/357f536d/git-platformUI/ui/node_modules/q/q.js:556:49 在 runSingle (/tmp/build/357f536d/git-platformUI/ui/ node_modules/q/q.js:137:13) [07:33:13] E/launcher - 进程退出,错误代码 199

4

5 回答 5

11

删除您的node_modules文件夹,将以下脚本添加到您的package.json文件和 npm install. 正如在上面的评论和GitHub上发布的

"postinstall": "cd ./node_modules/protractor && npm i webdriver-manager@latest",

更新: 一旦最新版本开始更改为,上述脚本开始对我造成影响,webdriver-manager@12.1.7因此我必须明确版本并将其设置为12.1.6

"postinstall": "cd ./node_modules/protractor && npm i webdriver-manager@12.1.6",
于 2019-09-04T15:27:07.373 回答
6

尝试以下命令:

npm install protractor@5.4.2 --save-dev
ng e2e

它将工作并下载最新的 chrome 驱动程序chromedriver_78.0.3904.70.zip

于 2019-10-25T01:24:37.860 回答
2

就我而言,我只是安装了一个丢失的包并重新安装了所有的 deps:

npm i -D webdriver-manager
rm -rf node_modules
npm install

...并再次运行端到端测试:

npm run e2e
于 2019-10-22T17:14:46.470 回答
2

将量角器 devDependency 更新为对我有用的最新(5.4.2)。

于 2019-09-22T12:11:02.033 回答
0

我有一个类似的问题,这就是我在这里的原因,我厌倦了一切,直到下面

npm 安装 chromedriver

于 2020-03-19T07:25:24.170 回答