Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Selenium 0.7利用手順書(前編)

Seleniumの概要とインストール手順

  • LINEで送る
  • このエントリーをはてなブックマークに追加

本稿では、Webアプリケーション用のテストツールSelenium(セレニウム)を利用するための手順を解説します。Seleniumは、ブラウザ操作を自動化して、Webアプリケーションの試験・検証を効率的に行うことができ、OS/ブラウザ互換などの特徴を持っています。今回は、Seleniumの概要および、Seleniumのダウンロード、インストール手順について解説します。

目次

はじめに

 本稿は、Webアプリケーション用のテストツールSelenium(セレニウム)を利用するための手順を解説するものです。これから2回に分けて、Seleniumの概要および、インストール手順、実際のテストケースの実行について解説していきます(後編はこちら。また、Tipsも公開しました)。

 今回は、Seleniumの概要および、Seleniumのダウンロード、インストール手順について解説します。

読者対象

 プロジェクトの試験担当者を想定しています。

対象フェーズ

 本ドキュメントでは、プロジェクトにおいて作成したWebアプリケーションに対して、ブラウザを用いた試験(結合試験・総合試験)を実施するフェーズを対象としています。Webアプリケーションの製造、単体試験フェーズや、外部のアプリケーションに対する試験については対象外です。

使用したソフトウェア・環境

 Seleniumを動作させるにあたり、以下のソフトウェアを使用しました。本ドキュメントはこれらのソフトウェアを使用しているという前提で記述しています。

表1 使用したソフトウェア
カテゴリソフトウェアバージョンバージョン
OSWindows XP Professional2002 SP22002 SP2
JavaVMJDK(JRE)1.4.2_101.5.0_06
Web/APサーバTomcat5.0.285.5.16
RDBMSMySQL4.1.164.1.16
IDEEclipse3.0.13.1.1
Eclipse pluginsysdeo tomcat plugin3.0.03.1.0
ブラウザInternet Explorer(以下IE)6.0 SP26.0 SP2

 2006年5月14日にSelenium(Selenium Core)のバージョン0.7.0がリリースされました。本書ではSeleniumのバージョン0.7.0を使用しています。

表2 本書におけるSeleniumのバージョン
カテゴリソフトウェアバージョン
SeleniumSelenium Core0.7.0
Selenium IDE0.7.2

 テストの環境としては、ローカルマシンにてWeb/APサーバ(Tomcat)を起動してテスト対象アプリケーションをデプロイしています。テスト対象のアプリケーションとして、プレゼンテーション層にStruts(1.2.7)を用いて作成されたJavaEE/Webアプリケーションを使用しました。

Seleniumとは

 「Selenium」とは、オープンソースのWebアプリケーション用テストツールで、以下の特徴を持っています。

  1. ブラウザ操作を自動化して、Webアプリケーションの試験・検証を効率的に行うことができます。
  2. OS/ブラウザ互換をうたっており、OSはWindows、Linux、Macintosh、ブラウザはInternet Explorer、Firefox、Safariなどさまざまな環境において動作させることができます。

 公式HPにOS/ブラウザの互換一覧が掲載されています。ここに記載されているものでも、例えばIEとFirefoxにおけるxpathの扱いなど、若干の相違点はあります。また、この表は2006年5月26日現在のものなので、随時公式HPをチェックしてください。

表3 SeleniumのOS/ブラウザ互換一覧(公式HP 掲載)
OSブラウザ
WindowsInternet Explorer 6.0
Firefox 0.8 to 1.5
Mozilla Suite 1.6+, 1.7+
Seamonkey 1.0
Opera 8
Mac OS XSafari 1.3+
Firefox 0.8 to 1.5
Camino 1.0a1
Mozilla Suite 1.6+, 1.7+
Seamonkey 1.0
LinuxFirefox 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アプリケーションやブラウザの種類を考慮する必要がありません。

図1 Selenium Coreの概要
図1 Selenium Coreの概要

 Selenium IDEは、Firefoxのエクステンションで、Seleniumのテストを記録・編集・実施することができます。Selenium IDEはSelenium Coreで使用するテストケース(html)を作成するツールであると共に、それ自体がSelenium Coreを含むテスト実行環境でもあります。

図2 Selenium IDEの概要
図2 Selenium IDEの概要

 Selenium RCは、さまざまなプログラミング言語を用いて、任意のHTTPウェブサイトに対するUIテストを主要なJavascript対応ブラウザにて実施することができるテストツールです。Selenium RCはブラウザを制御するSelenium Serverというモジュールを提供します。

 Selenium RCでは、Java、.NET、Python、Rubyでテストケースを記述してSeleniumのテストをブラウザ上で自動実行することができます。また、Selenium Serverはブラウザとテスト対象ウェブサイトの中間に位置するHTTPプロキシとして動作します。これによってテスト対象のWebサーバにSeleniumをインストール(コピー)することなく、Seleniumのテストを実行することが可能です。

図3 Selenium RCの概要
図3 Selenium RCの概要

 この利用手順書では、基本となるSelenium Coreを使用した手順を主に解説していきます。以下、Selenium Coreを単純に「Selenium」と表記します。

*1
 HTTPリクエストを作ることができるプログラミング言語であれば、どの言語でもSelenium Serverを制御することができますが、上述の言語については、テストケース作成プロセスを容易にするためのラッパーオブジェクトが提供されています。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2007/06/04 13:19 デモのリンク先変更(コラム追加)

  • 2006/10/03 09:43 後編及びTipsへのリンクを追記。

  • 2006/10/03 09:37 後編及びTipsへのリンクを追記。

  • 2006/07/03 16:29 Seleniumの特徴についてリストタグの区切り箇所を修正 「タブ文字に対する取り扱い不備」における表現を修正

著者プロフィール

バックナンバー

連載:Selenium 0.7利用手順書
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5