在进行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 /启动器-未创建会话:Chrome版本必须为 在71到75之间(驱动程序信息:chromedriver = 2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),平台= Linux 4.15.0-36-Generic x86_64)[07:33:13] E / launcher-SessionNotCreatedError:未创建会话:Chrome版本必须为 在71到75之间(驱动程序信息:chromedriver = 2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),平台= Linux 4.15.0-36通用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) 在 在process._tickCallback(内部/进程/next_tick.js:188:7)来自:任务:WebDriver.createSession() 在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.done(/tmp/build/357f536d/git-platformUI/ui/node_modules/q/q.js:863:30) 在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
答案 0 :(得分:7)
删除您的node_modules
文件夹,将以下脚本添加到您的package.json
文件和npm install
中。如上面和github上的评论中所述https://github.com/angular/protractor/issues/5289#issuecomment-517261124
"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",
答案 1 :(得分:1)
将量角器devDependency更新为对我有用的最新版本(5.4.2)。
答案 2 :(得分:1)
就我而言,我只是安装了缺少的软件包,然后重新安装了所有部门:
npm i -D webdriver-manager
rm -rf node_modules
npm install
...并再运行一次端到端测试:
npm run e2e
答案 3 :(得分:1)
尝试使用此命令, -> npm安装量角器@ 5.4.2-保存 -> ng e2e
它将运行并下载最新的chromedriver“ chromedriver_78.0.3904.70.zip”。
答案 4 :(得分:0)
我有一个类似的问题,这就是为什么我在这里, 我把一切都累了直到
npm安装chromedriver