Jenkinsを開いたら新しいバージョンが公開されたということでアップグレードの通知が表示されていた。
Jenkinsをインストールしているサーバにリモートアクセスして、
Jenkinsのバージョンアップをしたら突然動かなくなった。
エラーメッセージを見たら下記の通り。
PHP Fatal error: Uncaught Facebook\WebDriver\Exception\UnknownServerException: unknown error: call function result missing 'value' (Session info: chrome=65.0.3325.146)
Jenkinsのバージョンアップと同時にブラウザのバージョンアップも行っていたらしい。
上記のエラーはブラウザのバージョンが上がった時に発生しやすいエラーらしい。
というわけで、
Selenium - Web Browser Automation
最初にSeleniumで新しいバージョンが公開されていないか?調べてみた。
ちょうど数日前に3.10.0が公開されていたので、
下記のコマンドで新しいSeleniumをインストールしてみた。
$ mkdir /var/lib/selenium $ cd /var/lib/selenium $ sudo wget http://selenium-release.storage.googleapis.com/3.10/selenium-server-standalone-3.10.0.jar
※下記の記事にあるload.shも書き換え済み
さくらVPS上でSeleniumとphp-webdriverを利用する
インストール後に実行してみてもエラーは解決せず。
ChromeDriverのバージョンがあっていない可能性もあったので、
Chromiumのバージョンを調べた後、ChromeDriverをバージョンアップしてみることにした。
Seleniumとphp-webdriverでUIテストの自動化
Chromiumのバージョンは下記のコマンドで調べる
$ chromium-browser --version Chromium 64.0.3282.167 Built on Ubuntu , running on Ubuntu 16.04
バージョンがわかったところで、
ChromeDriverのページで使用しているブラウザに対応するバージョンを調べた後、
下記のコマンドでChromeDriverのバージョンアップを行う。
$ wget http://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip $ unzip chromedriver_linux64.zip $ sudo mv chromedriver /usr/local/bin $ chromedriver Starting ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881) on port 9515
さくらVPS上でSeleniumとphp-webdriverを利用する
ChromeDriverのバージョンアップが確認できたので、
再びJenkins内でテストを実行してみたら、冒頭で表示されたエラーがなくなってテストが開始された。
関連記事