前提として
・CentOS7
・Docker1.8
・docker-compose1.5.2
・PHP
・composer
が導入済みの状態。
docker-compose.ymlには以下のように記載する。
selenium_chromeやselenium_firefoxで指定しているポート番号は任意で決めてもらってOK。
selenium_hub:
image: docker.io/selenium/hub
container_name: selenium-hub
ports:
- 4444:4444
selenium_chrome:
image: docker.io/selenium/node-chrome-debug
container_name: selenium-chrome
ports:
- 49154:5900
links:
- selenium_hub:hub
selenium_firefox:
image: docker.io/selenium/node-firefox-debug
container_name: selenium-firefox
ports:
- 49155:5900
links:
- selenium_hub:hub
コンテナを起動させる。
$ docker-compose up -d
こんな感じの状態になっていればOK$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------
selenium-chrome /opt/bin/entry_point.sh Up 0.0.0.0:49154->5900/tcp
selenium-firefox /opt/bin/entry_point.sh Up 0.0.0.0:49155->5900/tcp
selenium-hub /opt/bin/entry_point.sh Up 0.0.0.0:4444->4444/tcp
で、composer.jsonは下記の様に記載して保存。
$ vi composer.json
{
"require": {
"phpunit/phpunit": "5.1.*",
"phpunit/phpunit-selenium": "dev-master",
"facebook/webdriver":"dev-master"
}
}
composerコマンドで、上記のパッケージをインストールする。
$ composer install
とりあえずFirefoxを立ち上げて、自分のブログのページを表示させてみるスクリプトを書く。
$ vi test.php
<?php
require_once 'vendor/autoload.php';
$host = 'http://VMのIP:4444/wd/hub';
$driver = RemoteWebDriver::create($host, DesiredCapabilities::firefox());
$driver->get('http://gyagya1111.blogspot.jp/');
で、実行する。
$ php test.php
VNCクライアントとかを使って、VMのIP:49155にアクセスすると、動いているのが見える。