TOP  >  スタッフブログ  >  技術全般  >  Selenium RCでテストを楽にする 

Selenium RCでテストを楽にする

カテゴリ : 
技術全般
2008-11-13 13:34
satoです。

WebアプリケーションのテストといえばSeleniumが有名です。
Seleniumは便利なのですが、HTMLでテストケースを書くのは面倒です。
通常はSelenium IDEを使うと思いますが、そもそもプログラマーはGUIを叩くのが面倒というケースが多いです。

Seleniumのプロダクトの中にSelenium RCというのがあります。
RCはRemote Controlの略で、その名の通りSeleniumをリモートから操作することができます。
操作に使う言語はJava/Perl/PHP/Ruby等多種多様に対応しているので、自分の好きな言語でテストを書くことができます。
これにより、例えばGUIの無い環境から、Selenium RCのサーバを動かしているPCでアプリケーションのテストを行うことが可能になります。
Selenium IDEの出力も、HTMLだけではなく各言語の形式で出力することができるようになっているので、ベースはSelenium IDEで作って、細かい調整は直接編集する、ということもできます。

サーバ側の使い方は簡単で、ダウンロードしたファイルの中の、selenium-server-[バージョン名]/selenium-server.jarを実行する(java -jar [ファイル名])だけです。当然JREが必要になります。
Windows Vistaの場合は管理者権限で動かす必要があります。

クライアント側は、PHPで動かす場合はPHPUnitが必要です。
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit

さらに、Testing_Seleniumが必要なので、
pear install Testing_Selenium-beta

でインストールします。

実際には以下のようなコードで動かすことになります。(Selenium RCに付属のサンプルを多少変更したものです)
Firefoxでは動かなかったのでIE(7)にしています。
<?php

require_once 'Testing/Selenium.php';
require_once 'PHPUnit/Framework/TestCase.php';

class GoogleTest extends PHPUnit_Framework_TestCase
{
    private $selenium;

    public function setUp()
    {
        $this->selenium = new Testing_Selenium("*iexplore", "http://www.google.com", "192.168.1.1"); // 192.168.1.1はSelenium RCサーバのIPアドレス。同じPC上で行う場合は省略可
        $this->selenium->start();
    }

    public function tearDown()
    {
        $this->selenium->stop();
    }

    public function testGoogle()
    {
        $this->selenium->open("/webhp");
        $this->selenium->type("q", "hello world");
        $this->selenium->click("btnG");
        $this->selenium->waitForPageToLoad(10000);
        $this->assertRegExp("/Google/", $this->selenium->getTitle());
    }

}

これをphpunitで動かすとサーバ上で動作すると思います。
詳しくはドキュメントを参照してください。

テストケースを用意するのも簡単ではないので、できるだけ作りやすい方法で作業できるようにしておくといいと思います。
また個人的には、Selenium RCを使うと、Selenium本体のファイルを置いておかなくてもいい(恐らくjarに全部含まれている)のが好きです。

同一カテゴリ(  技術全般 )の最新記事

トラックバック

トラックバックpingアドレス http://ryus.co.jp/modules/d3blog/tb.php/246

コメント

コメントの投稿

コメント投稿に関するルール : コメントに承認は必要ない
検索
XOOPSうさぎ通信
お客様事例
メルマガ登録
メルマガ「XOOPSうさぎ通信」登録

メルマガタグ全一覧

XOOPSうさぎ通信
メールアドレス*必須
お名前*必須
会社名
ひとこと欄
個人情報のお取り扱いについてに同意の上ご登録ください
XOOPSうさぎ通信とは?
事例紹介キーワード
タイムカードと社内ポータルがワンパッケージ!
イントラ+勤怠管理システム イントラタイムカードXOO

XOOPS Cubeサタデーラボ

「知らなかったら損をするCMSを社内で活用する!7つの法則」無料レポート お申し込みフォームはコチラ!
メディア掲載情報
最新スタッフブログ
ブログコメント
ブログカテゴリ
RYUS運営サイト
うさぎにもできるXOOPS Cube入門♪
XOOPS Cube Link
XOOPS Cube Official Web Site
携帯サイト
株式会社RYUS QRコード
株式会社RYUS QRコード
たいせつにしますプライバシー 10823301(01)