Webテスト自働化を行うために、Headless Chrome や Seleniuim を使っています。
が、ココしばらく、そこそこの高確率で、以下のようなSessionError? が起きていました。
…
2) Failure/Error: e = error
Selenium::WebDriver::Error::InvalidSessionIdError:
invalid session id
# /usr/lib/ruby/gems/2.7.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/response.rb:72:in `assert_ok'
# /usr/lib/ruby/gems/2.7.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/response.rb:34:in `initialize'
…
ランダム要素が強く、原因がしばらくわからずじまいだったのですが…
調べた所、どうやら /dev/shm パーティションのサイズが小さいことが引き金になってました(Dockerデフォルトだと、64MB)。
そこで、/dev/shm のサイズを増やして起動してみました。
version: "3"
services:
spec:
image: knaou/browser-test-ja
shm_size: 256m
volumes:
....
上記のように、shm_size オプションを付けて指定しました。
いまの所、問題は起きないようです。
コメント