Windows7でSelenium RCを動かしてみる。

Windows7でSeleniumRCを動かしてみました。結構7ならではのハマりどころがあったので同じようにハマった人はどうぞ。

構成

テストサーバ:テスト実行するPC
Webサーバ:テスト対象のサービスが動いているサーバ

Windows7Selenium RCを入れる

まずはSelenium RCをインストールします。Selenium RCはテストサーバにインストールします。テストケースが増えていくと結構パワー使うので注意です。
実行コマンド

C:\Windows\System32>java -jar "C:\Program Files\Java\jdk1.6.0_24\bin\Selenium\selenium-server-standalone-2.0b3.jar" -interactive

PHPUnitを使えるようにする

Windows用のPHPインストーラーでインストールします。
Webサーバは入れずに後はデフォルト構成でインストール。
PHP For Windows: Binaries and sources Releases

次にpearをインストールするために、PHPのZIPファイルから「go-pear.bat」とPEARディレクトリだけコピーしてPHPをインストールしたディレクトリに配置する。go-pear.batをコンソール上から実行すればインストールできるが、この時go-pear.batのあるディレクトリに移動して作業しないとインストールに失敗するので注意。さらに、Window7の場合cmdを管理者権限で実行していないと途中でこけるので注意。

Could not open input file: PEAR\go-pear.phar
PHPUnitのインストール
#PEARのアップグレード
>pear upgrade PEAR
#チャンネルを追加、インストール
>pear channel-discover pear.phpunit.de
>pear channel-discover pear.symfony-project.com
>pear install symfony/YAML
>pear channel-discover components.ez.no
>pear install components.ez.no/ConsoleTools
#PHPUnitのインストール
>pear install -a phpunit/PHPUnit
could not extract the package.xml file from "C:\Program Files (x86)\PHP\tmp\PHPUnit-3.5.13.tgz" Unable to create directory 'C:/Program/Fil763B.tmp' Unable to create path for C:/Program/Fil763B.tmp/package.xml

入らないですね。ここを読むとpearの使う作業ディレクトリにスペースが入っているのがまずいそうです。
C:\Windows直下にあったpear.iniを編集します。

s:8:"temp_dir";s:6:"C:\tmp";s:12:"download_dir";s:6:"C:\tmp"

C直下にtmpディレクトリを作って再度インストールをしたら動きました。

Testing_SeleniumWindowsにいれる
>pear install -a Testing_Selenium-beta
試してみる

テストサーバを起動し、Googleへアクセスするテストを実行してみます。
このテストはfirefoxを起動して、googleでhellow worldを検索し、検索結果のページタイトルに"Google Search"という文字列が含まれるかをチェックするものです。日本語の場合は"Google 検索"というページタイトルになるのでその辺を少しいじってやると成功します。

>C:\Windows\System32>java -jar "C:\Program Files\Java\jdk1.6.0_24\bin\Selenium\selenium-server-standalone-2.0b3.jar" -interactive
>C:\Program Files (x86)\PHP>phpunit tests\Testing_Selenium\tests\GoogleTest.php