Jenkins


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のバージョンがあっていない可能性もあったので、


The Chromium Projects


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内でテストを実行してみたら、冒頭で表示されたエラーがなくなってテストが開始された。


関連記事

Jenkinsの動作が遅くなった時の対処