概要
docker環境でchromeでのブラウザテストを実行した際に今まで通っていたテストが
"invalid session id"のエラー発生したので解消方法を記載します。
エラー内容
Selenium::WebDriver::Error::InvalidSessionIdError:
invalid session id
原因と解決方法
【原因】
どうやらメモリ不足が原因みたいでした。
【解決方法】
chromeコンテナのメモリを増やすように設定を行う。
→ docker-compose.ymlを修正してコンテナで使用するメモリを設定します。
docker-compose.yml
chrome:
image: selenium/standalone-chrome:latest
shm_size: 256m # ← 追加
ports:
- 4444:4444
shmサイズは、Chromeがコンテンツをダウンロードした際の一時ファイル領域のことです。
デフォルトは64mらしいので、多めに設定してみます。
設定後テストが通るようになりました。