ブラックボックス

プログラミングのノウハウやライフハックをどんどん投稿していきたい

Jun 26, 2013 - 2 minute read - ノウハウ

【Selenium2+PHPUnit】使用までの流れ

本当にSelenium2とPHPUnitのドキュメントって中々ないんですよね。
SeleniumRCなら沢山あるんですが。

前回のエントリーの続きです。
【Selenium2+PHPUnit】導入までの流れ

参考:
http://www.mogumagu.com/wp/wordpress/?p=1002
http://phpunit.de/manual/3.8/ja/installation.html

Seleniumを起動

コマンドプロンプトを起動し、前回ダウンロードをしたSeleniumを配置したディレクトリに移動し、以下のコマンドを実行。

java -jar selenium-server-standalone-2.32.0.jar

※バージョンの部分は適宜書き換えてください。
Seleniumを起動

特にワーニングも出なければ大丈夫です。
このコマンドプロンプトは何もせず、放置をしておきます。

テストスクリプトの作成

とりあえず今回はテストなので、簡単なスクリプトにします。

<?php
require_once 'PHPUnit/Extensions/Selenium2TestCase.php';

class WebTest extends PHPUnit_Extensions_Selenium2TestCase
{
    protected function setUp()
    {
        $this->setHost("localhost");
        $this->setPort(4444);
        $this->setBrowser("firefox");
        $this->setBrowserUrl("http://www.google.co.jp/");
    }
 
    public function testTitle()
    {
        $this->url('/');
        $this->assertEquals('Google', $this->title());
    }
}

Googleを開き、タイトルを比較するテストです。
setHostは今回は自分自身で実行したSeleniumを使用するのでlocalhost、
ポートはSelenium起動時に指定をしないとデフォルトが4444なのでsetPortに4444を指定。

今回は上記スクリプトをWebTest.phpとし、C:\testcaseというフォルダ内に配置します。

実行

前回、pearでインストールをしたphpunitを使用します。
xampp\phpフォルダを環境変数に設定をするか、直接指定してコマンドを叩くか、私は面倒なので、環境変数に設定をしておきました。
環境変数を設定

これでどのディレクトリにいても「phpunit」と打てばphpunitが実行されます。
念のため、動作を確認。

phpunit --version

バージョン情報を出力

バージョン情報が出力されていますので、問題なく動作をしています。

と言うことで、テストスクリプトを実行します。

phpunit C:\testcase\WebTest

テストケースを実行

実行が出来れば、勝手にFirefoxが立ち上がります。
Firefoxが起動

また、右下を見ていただければ分かるかと思いますが、「WebDriver」と記述がされています。
これにより、WebDriverを使用してFirefoxを起動していることが分かります。

時間が経つと、Firefoxが終了し、コマンドプロンプトに戻ります。
テスト結果

無事実行が終了しました。

次回はIEやChromeで実行する方法が書ければ、と思います。