Posted at

Selenium::WebDriver::Error::UnknownError: unknown error: unknown sessionId への対応

More than 1 year has passed since last update.

Capybara + Selenium WebDriver + Chrome で E2E テストをしていて、下記のエラーが発生したので対応した。

Selenium::WebDriver::Error::UnknownError:

unknown error: unknown sessionId
(Session info: headless chrome=65.0.3325.162)
(Driver info: chromedriver=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8),platform=Mac OS X 10.12.6 x86_64)


環境


  • macOS Sierra(Mac OS X 10.12.6)

  • Ruby 2.2.8(あっ...)

  • capybara 2.6.2

  • selenium-webdriver 3.10.0

  • Google Chrome 65.0.3325.162

  • ChromeDriver 2.36.540469

  • Java 1.6.0_65


結論ファースト

ChromeDriver のバージョンを 2.35 にダウングレードさせたらエラーが解消した。ダウングレードの方法は下記。


試してみたバージョン

公式情報 https://chromedriver.storage.googleapis.com/2.37/notes.txt によると、ChromeDriver が対応する Chrome のバージョンは下記。

ChromeDriver
Chrome

2.37
v64-66

2.36
v63-65

2.35
v62-64

2.34
v61-63

なのだけれど、手元で試した限りでは下記の結果となった。同じテスト(ログインフォームに値を入れてサブミットする)なのだけれど、発生したエラーが異なった。

ChromeDriver
Chrome v65

2.37
NG(unknown error: unknown sessionId)

2.36
NG(unknown error: unknown sessionId)

2.35
OK

2.34
NG(unknown error: call function result missing 'value')


参考

不具合の内容は下記のバグレポート参照。

下記でも同じような不具合が報告されていて、みんな ChromeDriver と Chrome のバージョンの組み合わせには苦労しているんだなあという印象。