はじめに
本稿は、Webアプリケーション用のテストツールSelenium(セレニウム)を利用するための手順を解説するものです。これから2回に分けて、Seleniumの概要および、インストール手順、実際のテストケースの実行について解説していきます(後編はこちら。また、Tipsも公開しました)。
今回は、Seleniumの概要および、Seleniumのダウンロード、インストール手順について解説します。
読者対象
プロジェクトの試験担当者を想定しています。
対象フェーズ
本ドキュメントでは、プロジェクトにおいて作成したWebアプリケーションに対して、ブラウザを用いた試験(結合試験・総合試験)を実施するフェーズを対象としています。Webアプリケーションの製造、単体試験フェーズや、外部のアプリケーションに対する試験については対象外です。
使用したソフトウェア・環境
Seleniumを動作させるにあたり、以下のソフトウェアを使用しました。本ドキュメントはこれらのソフトウェアを使用しているという前提で記述しています。
カテゴリ | ソフトウェア | バージョン | バージョン |
OS | Windows XP Professional | 2002 SP2 | 2002 SP2 |
JavaVM | JDK(JRE) | 1.4.2_10 | 1.5.0_06 |
Web/APサーバ | Tomcat | 5.0.28 | 5.5.16 |
RDBMS | MySQL | 4.1.16 | 4.1.16 |
IDE | Eclipse | 3.0.1 | 3.1.1 |
Eclipse plugin | sysdeo tomcat plugin | 3.0.0 | 3.1.0 |
ブラウザ | Internet Explorer(以下IE) | 6.0 SP2 | 6.0 SP2 |
2006年5月14日にSelenium(Selenium Core)のバージョン0.7.0がリリースされました。本書ではSeleniumのバージョン0.7.0を使用しています。
カテゴリ | ソフトウェア | バージョン |
Selenium | Selenium Core | 0.7.0 |
Selenium IDE | 0.7.2 |
テストの環境としては、ローカルマシンにてWeb/APサーバ(Tomcat)を起動してテスト対象アプリケーションをデプロイしています。テスト対象のアプリケーションとして、プレゼンテーション層にStruts(1.2.7)を用いて作成されたJavaEE/Webアプリケーションを使用しました。
Seleniumとは
「Selenium」とは、オープンソースのWebアプリケーション用テストツールで、以下の特徴を持っています。
- ブラウザ操作を自動化して、Webアプリケーションの試験・検証を効率的に行うことができます。
- OS/ブラウザ互換をうたっており、OSはWindows、Linux、Macintosh、ブラウザはInternet Explorer、Firefox、Safariなどさまざまな環境において動作させることができます。
公式HPにOS/ブラウザの互換一覧が掲載されています。ここに記載されているものでも、例えばIEとFirefoxにおけるxpathの扱いなど、若干の相違点はあります。また、この表は2006年5月26日現在のものなので、随時公式HPをチェックしてください。
OS | ブラウザ |
Windows | Internet Explorer 6.0 |
Firefox 0.8 to 1.5 | |
Mozilla Suite 1.6+, 1.7+ | |
Seamonkey 1.0 | |
Opera 8 | |
Mac OS X | Safari 1.3+ |
Firefox 0.8 to 1.5 | |
Camino 1.0a1 | |
Mozilla Suite 1.6+, 1.7+ | |
Seamonkey 1.0 | |
Linux | Firefox 0.8 to 1.5 |
Mozilla Suite 1.6+, 1.7+ | |
Konqueror |
Seleniumでできること
Seleniumでは以下のような操作を自動化することができます。
- 「社員番号」フィールドに「0123456」と入力
- [ログイン]ボタンをクリック
- そのページに「ようこそxxxページへ」と表示があるか確認
- [検索条件]コンボボックスから[出版社]を選択
- 管理者専用の[xxx管理]ボタンがあるか確認
- テーブルにて2行1列目の表示が「山田 太郎」であるか確認
- alertダイアログの表示が「xxx」であるか確認
- ブラウザの[戻る]ボタンをクリック
つまり、結合試験において今まで手動でブラウザを操作して目視で確認していた作業を、Seleniumで自動化して実施することができるのです。
Seleniumのプロダクト概要
Seleniumは以下の3つのプロダクトで構成されています。
- Selenium Core
- Selenium IDE
- Selenium RC(Remote Control)
Selenium Coreは、JavaScriptとDHTMLで作られたSeleniumの心臓部です。Selenium CoreのディレクトリをアプリケーションWebサーバにコピーすれば、クライアントサイドから任意の対応ブラウザを使ってテストを実行することができます。テストケースはHTMLのtable
形式で記述するため、Webアプリケーションやブラウザの種類を考慮する必要がありません。
Selenium IDEは、Firefoxのエクステンションで、Seleniumのテストを記録・編集・実施することができます。Selenium IDEはSelenium Coreで使用するテストケース(html)を作成するツールであると共に、それ自体がSelenium Coreを含むテスト実行環境でもあります。
Selenium RCは、さまざまなプログラミング言語を用いて、任意のHTTPウェブサイトに対するUIテストを主要なJavascript対応ブラウザにて実施することができるテストツールです。Selenium RCはブラウザを制御するSelenium Serverというモジュールを提供します。
Selenium RCでは、Java、.NET、Python、Rubyでテストケースを記述してSeleniumのテストをブラウザ上で自動実行することができます。また、Selenium Serverはブラウザとテスト対象ウェブサイトの中間に位置するHTTPプロキシとして動作します。これによってテスト対象のWebサーバにSeleniumをインストール(コピー)することなく、Seleniumのテストを実行することが可能です。
この利用手順書では、基本となるSelenium Coreを使用した手順を主に解説していきます。以下、Selenium Coreを単純に「Selenium」と表記します。