環境
$ node --version
v15.3.0
$ npm list chromedriver
app@1.0.0 \app
└── chromedriver@2.46.0
- Google Chrome バージョン: 95.0.4638.54(Official Build) (64 ビット)
- Selenium
npm run e2e 実行時にエラーになる
$ npm run e2e
> app@1.0.0 e2e
> node test/e2e/runner.js
Starting selenium server... started - PID: 80376
[Login] Test Suite
======================
Running: Login
{ parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }.
Error retrieving a new session from the selenium server
Connection refused! Is selenium server started?
{
value: {
message: 'session not created: Chrome version must be between 71 and 75\n' +
' (Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.19042 x86_64) (WARNING: The server did not provide any stacktrace information)\n' +
'Command duration or timeout: 1.32 seconds\n' +
"Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'\n" +
"System info: host: '***', ip: '***', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '15.0.1'\n" +
'Driver info: driver.version: unknown',
error: 'session not created'
},
status: 33
}
npm ERR! code 1
npm ERR! path \app
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node test/e2e/runner.js
npm ERR! A complete log of this run can be found in:
npm ERR! \AppData\Local\npm-cache\_logs\2021-10-25T05_25_32_549Z-debug.log
※マスキングあり
エラーメッセージの内容
session not created: Chrome version must be between 71 and 75
(Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1)
googe翻訳
セッションが作成されていません:Chromeのバージョンは71から75の間である必要があります
(ドライバー情報:chromedriver = 2.46.628402(536cd7adbad73a3783fdc2cab92ab2ba7ec361e1)
メッセージ的には「Chrome のバージョン合わせろ」と読めますが、ダウングレードはしたくないので、chrome-driver をアップデートする
chrome-driver がアップデートされない
Chrome Driver NPM | npm.io を参考に、アップデートを実行する。その後、npm list chromedriver でバージョン確認したが、アップデートされない。
$ npm list chromedriver
app@1.0.0 \app
└── chromedriver@2.46.0
$ npm install --save-dev chromedriver --chromedriver_version=LATEST
$ npm list chromedriver
app@1.0.0 \app
└── chromedriver@2.46.0
結論
インストール済みの chrome-driver を削除後、chrome-driver の最新版をインストールする
# chrome-driver の削除
$ npm rm --save-dev chromedriver
# chrome-driver のインストール
$ npm install --save-dev chromedriver --chromedriver_version=LATEST
# chrome-driver があるか確認
$ npm list chromedriver
app@1.0.0 \app
└── chromedriver@94.0.0
npm run e2e が成功する事を確認する
$ npm run e2e
> app@1.0.0 e2e
> node test/e2e/runner.js
Starting selenium server... started - PID: 78188
[Login] Test Suite
======================
Running: Login e2e
{ parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }.
√ Element <#app> was visible after 113 milliseconds.
√ Element <form > .form-actions > button> was visible after 61 milliseconds.
√ Element <#app > p> was visible after 583 milliseconds.
√ Testing if the URL equals "http://localhost:8080/#/".
OK. 4 assertions passed. (16.371s)
以上