コンテナ内で、Headless Chrome がセッションエラー…

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 オプションを付けて指定しました。
いまの所、問題は起きないようです。

コメント

タイトルとURLをコピーしました