ローカルからherokuへの移行時にSelenium(Chrome Headless)で104エラーが発生した場合の解決方法
Webテスト用の環境にSeleniumがあります。SeleniumはHerokuでもchromeのheadless環境で動作させることができます。つまづくところとして、ローカル環境では動作するのに、heroku上で動作しない場合があります。
(エラーログ)
heroku logs --tail
ConnectionResetError: [Errno 104] Connection reset by peer
2018年4月現在、SeleniumはVer3.11.0が最新ですが、下記のリンクにもあるように3.8.0以降のバージョンから引き続いて起こっているようです。Herokuにdeployする際にrequirements.txtのバージョンを書き換えることで解決することができます。
(requirements.txt)
requirements.txt
(変更前)
selenium==3.11.0
(変更後)
selenium==3.8.0
(参考サイト)
Selenium headless browser webdriver [Errno 104] Connection reset by peer
Regression in 3.8.1 and 3.9.0: Non-deterministic ConnectionResetError with chrome and chromedriver #5296
(関連コンテンツ)