今回から、Jameleon 3.3-M4を使ってJameleonの機能を説明していく。まずはサンプルスクリプトで行われている内容を解説した後、実際にテストスクリプトを作成してみよう。
前回よりずいぶんと時間が経ってしまいましたが、第7回ではJameleonの概要について説明しました。全体の概要を覚えていない人は再度第7回を読んでからこちらの回を読んでみてください。今回は実際にJameleon 3.3-M4を使ってJameleonの機能を説明したいと思います。かなりのボリュームになりますが、最後まで読み進めていただければ、Jameleonについてはひととおり理解できると思います。
なお、Jameleonを実行するにはJava環境が必要ですので、事前にJ2SEのSDKのインストールを済ませておいてください。ここではJ2SE 6.0のSDKがインストールされていることを前提に説明します。
Jameleon 3.3-M4の導入は前回説明した方法と同様に、Jameleon Test Suiteをダウンロードします。解凍すると、jameleon-test-suiteというディレクトリの中に次のようなディレクトリが作成されます。
ディレクトリ名 | 格納されているもの |
---|---|
scripts | XMLスクリプトを格納 |
src/java | カスタムXMLタグを格納 |
data | データセットを使ったテスト(データドリブンテスト)のためにCSVファイルを格納 |
res | プロパティファイルを格納 |
lib | Jameleonのライブラリファイル |
プロパティファイルは使用するプラグインやテスト実行に関する設定を記述するファイルです。通常はすでに存在する初期値のEnvironment.propertiesファイルをそのまま利用することで問題ありません。
Jameleonでは、次のようなテストを作成することができます。
プラグインとしては前記以外にもJWebUnitプラグインがありますが、これはセッションタグの機能を提供するために利用されているものです。
JameleonはこのようにさまざまなプラグインでWebアプリケーションのホワイトボックステストからブラックボックスレベルの機能テストまでサポートします。ただし、わたしとしてはJUnitなどのホワイトボックステストはEclipseなどの開発環境内から実行したいので、Jameleonは機能テストまたは回帰テストなどのブラックボックステストのツールとして利用するのがいいと思います。そこでこの記事では機能テストに話を絞ってJameleonを解説していきます。
なお、Jameleonのライセンスは、GNU Lesser General Public License(GNU LGPL)ライセンスで開発されていますが、Jameleon自体を開発しているアプリケーションに組み込んだりせずに、ただのテストツールとして利用するのであれば利用は問題ありません。
解凍後、scriptsフォルダ以下には、「htmlunit-sourceforge.xml」「httpunit-sourceforge.xml」「jiffie-sourceforge.xml」の3つのテストスクリプトがサンプルとして用意されています。それぞれHtmlUnitプラグイン、HttpUnitプラグイン、Jiffleプラグインを使ったものとなっています。
リスト1はJiffleプラグインを使ったjiffie-sourceforge.xmlです。このXMLファイルはApache Jakartaプロジェクトで利用されているJellyというJavaおよびXMLベースのスクリプトエンジンを利用したスクリプトファイルです。
<testcase xmlns="jelly:jameleon">
<test-case-summary>Tests searching on the sourceforege site</test-case-summary>
<test-case-author>Christian Hargraves</test-case-author>
<test-case-level>ACCEPTANCE</test-case-level>
<functional-point-tested>Jiffie Example</functional-point-tested>
<ie-session baseUrl="http://sourceforge.net" beginSession="true">
<ie-validate
functionId="Verify that we are on the sourceforge home page"
title="SourceForge.net: Welcome to SourceForge.net"
textPresent="Open Source Technology Group"/>
<ie-set-text-field
functionId="Enter jameleon into the search box."
name="words"
value="jameleon"
form="searchform"/>
<ie-click-button
functionId="Click on the 'Google Search' button."
form="searchform"
value="Search"
eventToFire="onclick"
functionDelay="300"/>
<ie-validate
functionId="Check that we actually did a search for 'Jameleon' and that we found 'Jameleon'"
title="SourceForge.net: Software Search"
linkPresent="Jameleon"/>
<ie-click-link
functionId="Click on the 'Jameleon' link"
link="Jameleon"/>
<ie-validate
functionId="Validate that we arrived at the Jameleon SourceForge Page."
title="SourceForge.net: Jameleon"
linkPresent="engrean"/>
<ie-fire-event
functionId="Do a mouseover on the 'Project' tab"
htmlElement="li"
eventToFire="onmouseover">
<ie-attribute>
<ie-attribute-name>class</ie-attribute-name>
<ie-attribute-value>begin selected</ie-attribute-value>
</ie-attribute>
</ie-fire-event>
<ie-click-link
functionId="Navigate to the Jameleon site by clicking on the 'Home Page' link"
link="Web Site"/>
<ie-validate
functionId="Validate that we arrived at the Jameleon SourceForge Page."
title="Jameleon - An Automated Testing Tool - Overview"/>
</ie-session>
</testcase>
次のページからは、このjiffie-sourceforge.xmlの内容を順に追うことで、Jameleonのテストスクリプトがどのようになっているのかを解説していきます。リスト1を印刷するなどして手元に置きながら読み進めるとよいでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.