第8回 Jameleonを使ったテスト理論的・計画的なWebアプリケーションのテストの実現(2/5 ページ)

» 2006年12月26日 09時30分 公開
[加藤大受,ITmedia]

<testcase xmlns="jelly:jameleon">

 テストケースの始まりであり、書かれているのがJellyスクリプトであることを示しています。<testcase>タグには非常に多くのパラメータがあり、CSVファイルを利用したり、結果ファイルの場所を指定したりするときなどに設定します。ほとんどのパラメータの指定はjameleon.confに書かれており、初期値を変更するときにのみ、それらのパラメータを指定します。なお、traceパラメータを指定するとfunctionIdパラメータで指定されている文字列を結果ファイルに出力します。

 その後に続く<test-case-summary>、<test-case-author>、<test-case-level>、<functional-point-tested>のタグは、テストスクリプトに関する情報を記載するためのタグです。


<ie-session baseUrl="http://sourceforge.net" beginSession="true">

 ここからが実際のテストの開始です。<ie-sesson>タグはJiffleプラグインを使ったセッションの開始を示しています。baseUrlパラメータはIEでアクセスするテストターゲットとなるURLを指定します。beginSessionパラメータはセッションを開始するかどうかを指定します。


    functionId="Verify that we are on the sourceforge home page"
    title="SourceForge.net: Welcome to SourceForge.net"
    textPresent="Open Source Technology Group"/>

 <ie-validate>タグはバリデーションポイントです。ここでは、アクセスしたSourceForge.Netのトップページのページタイトルをページ内に含まれる文字列を確認しています。functionIdパラメータはチェック内容の概要、つまりこのバリデーションポイントが何を目的としているかを示すための記述です。

 続いてのtitleパラメータはページタイトルの期待結果です。このtitleパラメータの値と一致しなければテストは失敗となります。比較は部分一致です。testPresentはページ内の文字列に該当する文字列があるかどうかを調べるものです。このtestPresentパラメータに指定された文字列がない場合はテストは失敗となります。


<ie-set-text-field
    functionId="Enter jameleon into the search box."
    name="words"
    value="jameleon"
    form="searchform"/>

 <ie-set-text-field>タグはファンクションポイントで、テキストボックスに値をセットするものです。前のバリデーションポイントと同様に、functionIdはこのファンクションポイントの説明です。nameパラメータに設定する対象のテキストボックスの名称を指定します。valueパラメータには設定する値を指定します。formパラメータは設定対象のテキストボックスが存在するフォームオブジェクトの名称を指定します。値を設定するテキストボックスが存在しなかったり、テキストボックスが書き込み不可の場合はテストは失敗となります。このファンクションポイントでは、searchformフォームオブジェクト内のwordsという名称のテキストボックスにjameleonという文字列を入力しているわけです。


<ie-click-button
    functionId="Click on the 'Google Search' button."
    form="searchform"
    value="Search"
    eventToFire="onclick"
    functionDelay="300"/>

 <ie-click-button>タグはナビゲーションポイントで、指定されたボタンをクリックして画面遷移を行います。ここではsearchformフォームオブジェクト内のSearchという文字列のボタンをクリックします。クリック後300ミリ秒待ちます。eventToFileはJavaScriptsのイベント名称です。ここではボタンのテキスト文字列でボタンオブジェクトを指定していますが、nameパラメータを指定してボタンオブジェクトの名前を指定することもできます。


<ie-validate
    functionId="Check that we actually did a search for 'Jameleon' and that we found 'Jameleon'"
    title="SourceForge.net: Software Search"
    linkPresent="Jameleon"/>

 このバリデーションポイントでは、遷移されたページが、「SourceForge.net: Software Search」というページタイトルであり、linkPresentパラメータでJameleonという文字列のリンクがあるかどうかをチェックしています。


<ie-click-link
    functionId="Click on the 'Jameleon' link"
    link="Jameleon"/>

 <ie-click-link>タグはナビゲーションポイントであり、Jameleonというリンクをクリックします。指定された文字列のリンクがないときは失敗となります。


<ie-validate
    functionId="Validate that we arrived at the Jameleon SourceForge Page."
    title="SourceForge.net: Jameleon"
    linkPresent="engrean"/>

 このバリデーションポイントは、直前のJameleonというリンクをクリックするナビデーションポイントによる動作の結果、期待するページが表示されているかどうかを確認するためのもので、「SourceForge.net: Jameleon」というページタイトルで、ページ内にengreanというリンクが存在するかどうかを確認しています。


<ie-fire-event
    functionId="Do a mouseover on the 'Project' tab"
    htmlElement="li"
    eventToFire="onmouseover">
    <ie-attribute>
        <ie-attribute-name>class

 <ie-fire-event>タグはファンクションポイントで、eventToFireパラメータで指定されたJavaScriptsのイベントを発生させます。ここではhtmlElementパラメータで指定されたHTMLタグの種類に対し、


<ie-click-link
    functionId="Navigate to the Jameleon site by clicking on the 'Home Page' link"
    link="Web Site"/>

 このナビゲーションポイントでは、以前のファンクションポイントで表示したProjectタグのメニュー内の「Web Site」というリンクをクリックします。


<ie-validate
    functionId="Validate that we arrived at the Jameleon SourceForge Page."
    title="Jameleon - An Automated Testing Tool - Overview"/>

 このバリデーションポイントは、以前のナビゲーションポイントによって遷移したページが「Jameleon - An Automated Testing Tool - Overview」というページタイトルであることを確認しています。


</ie-session>
</testcase>

 Jiffleプラグインを使ったセッションの終了とテストケースの終了です。これで1つのテストケースが終了したことになります。このサンプルスクリプトのテストケースをまとめてみると表1のようになります。

順序 種類 内容
1 バリデーションポイント SourceForge.netのトップページの確認
2 ファンクションポイント wordsテキストボックスに“Jameleon”をセット
3 ナビゲーションポイント Searchボタンを実行
4 バリデーションポイント “SourceForge.net: Software Search”の表示。“Jameleon”のリンクがあるか
5 ナビゲーションポイント “Jameleon”のリンクをクリック
6 バリデーションポイント “SourceForge.net: Jameleon”というページタイトルのページかどうか。engreanのリンクがあるか
7 ファンクションポイント Projectタブが選択されているか
8 ナビゲーションポイント “Web Site”のリンクをクリック
9 バリデーションポイント “Jameleon - An Automated Testing Tool - Overview”というページタイトルのページかどうか
表1 テストスクリプトの流れ。テスト対象のURLはhttp://sourceforge.net

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ