VfUnit Ver2.0

created by VfUnit Project@Media Knowledge Industrial Co.,Ltd.
  1. What is it?
  2. 動作環境
  3. パッケージ内容
  4. サンプル実行
  5. テスト記述方法
  6. 実行方法
  7. テストReport
  8. 拡張方法
  9. 免罪事項/著作権について

What is it?

VfUnitとは、JavaSwingを使ったリッチクライアントを JFCUnit,JUnitを用いて 自動テスト を行うツールです。
このツールにより実現できることは JFCUnit と同じで、 JUnitのテストケースの中で、SwingGUIに対して マウス操作、Keyboadからの入力 の記述が書ける 事 になります。
これにより、GUIが絡んだテストについても テストケースを一度書けば、何回でも実行する事が可能になります。

VfUnit は、JFCUnit初心者 でもテスト記述が楽に書けるように、 JFCUnitに対して、主に以下の改良を加えたものになっています。

  1. XMLでの記述を簡略化 (JComponent#getName() に値が入っている前提)
  2. XMLでの記述では、自動的に Swing処理を待つ 処理を組み込み
    (そのため、XMLの記述では Swing処理中に 何か動作orチェック できません。)
  3. 文字とKeyboardのマッピングを日本語Keyboard用に修正
  4. 漢字の文字が入力できるように修正
  5. 標準的な操作、コンポーネントでのチェック についてのタグを実装
  6. テストレポート出力機能
  7. 操作手順書 の出力機能 (XML記述の場合)

Webtribe,VisualFrame製品をお使いの場合は、内部データ(アイテム)の値をチェック するなどの 拡張タグが追加されています。
(VfUnit ver1.0 では Webtribe,VisualFrame製品のみ対応でしたが、 VfUnit ver2.0 では Swingハードコーディングのアプリでもお使い頂けます)

このツールは 全てオープンソース にて提供しています。
不具合があった場合の修正、機能追加 などは各自作成、修正してご使用ください。
フリー提供のためMKIでの製品サポートの受付はできませんので、ご了承下さい。

VfUnitは今後もバージョンアップ予定です。
但し、旧バージョンとの互換性の保証は無い予定です。

動作環境

Java JDK1.5.0 以上が必要です。
動作には 以下の外部ライブラリ使用しており、このパッケージ内 libフォルダ に格納しています。

名称バージョンリンク
JUnitver4.1http://www.junit.org/
JFCUnitver2.08http://jfcunit.sourceforge.net/
Jakarta Regexpver1.4http://jakarta.apache.org/regexp/
DbUnitver2.2http://dbunit.sourceforge.net/

Thanks for JUnit,JFCUnit,DBUnit & Jakarta Project!!

Webtribe,VisualFrame の RunClientを使用する場合には、Ver1.2.0_06以上が必要です。

インストールは、zipを解凍し、任意のディレクトリに配置します。
日本語が含まれていないディレクトリに解凍するのをお勧めします。
付属しているサンプルアプリの実行については、日本語が含まれているディレクトリでも動作することを 確認していますが、設定や XMLファイル内DTD指定方法によっては、日本語が含まれていると XMLのパースに 失敗する場合があるためです。

パッケージ内容

- imagesReadMe.html内で使用している画像ファイルなど
- javadocvfunit全ソースのJavaDoc
- sampleサンプル実装
 |_ camcWebtribe/VisualFrame画面のサンプル
 |_ swingSwing画面のサンプル
ReadMe.htmlこのドキュメント
VfUnit.propertiesVfUnit実行の為のプロパティファイル。
src.zipVfUnitのソースコード
vfunit-2.0.dtdXML記述テストケースのDTD
vfunit-2.0.jarVfUnitのJAR。実行時にクラスパスに設定が必要

サンプルの実行

このパッケージにはサンプルアプリが含まれています。
どのような事ができるのか? は とりあえず サンプルアプリを動作してみて下さい。
まずは、このパッケージの内容を ローカルマシン上に展開します。

以下の2つのサンプルが含まれています。

Swingサンプル

環境設定

Swingサンプルは sample/swing ディレクトリに含まれています。
JAVA_HOME の パスが通っていない場合には JUnitRun.bat に JAVA_HOMEの設定記述を追加してください。

実行

テスト実行は sample/swing/JUnitRun.bat より行います。
実行は 約約10程 かかります。その間は マウス/キー は触らずに じっと画面を見ててください。
動作やチェックの定義は sample/swing/swing_sample_tests.xml の内容になります。
完了すると、画面が全てとじられ、sample/swing/report の中に テスト結果レポートが出力されます。
report.xml は 結果を記録したXMLファイル、report.html は report.xmlを使ってHTMLに変換したファイルになります。

Webtribe/VisualFrame CAMCサンプル

環境設定

Webtribe製品をお使いの方は、 sample/camc/lib ディレクトリ に お手持ちの RunClient.jar, RunClientPatch.jar, RuleCommonClient.jar, RuleCommonClientPatch.jar を上書きして下さい。
(製品版 Ver1.2.0_06以上の必要があります。)
実行にあたっては、Webtribe製品のランタイムライセンス と コントロールサーバの起動 が必要です。
sample/camc/conf/common.wdg にて 起動しているコントロールサーバのパスを設定してください。

VisualFrame製品をお使いの方は、 sample/camc/lib に お手持ちの RunClient.jar, RunClientPatch.jar, RuleCommonClient.jar, RuleCommonClientPatch.jar を上書きして下さい (Ver1.2.0_06以上の必要があります)
sample/camc/JUnitRun.bat , sample/camc/RunClient.bat のクラスパスに ライセンスJAR(VisualFrameRuntimeLicense.jar)を追加して下さい。

JAVA_HOME の パスが通っていない場合には JUnitRun.bat に JAVA_HOMEの設定記述を追加してください。

実行

テスト実行は sample/camc/JUnitRun.bat より行います。
実行は 約2分程 かかります。その間は マウス/キー は触らずに じっと画面を見ててください。
動作やチェックの定義は sample/camc/camc_sample_tests.xml の内容になります。
完了すると、画面が全てとじられ、sample/swing/report の中に テスト結果レポートが出力されます。
report.xml は 結果を記録したXMLファイル、report.html は report.xmlを使ってHTMLに変換したファイルになります。
(テストを無理やり中断すると出力されないかもしれません)

テスト記述方法

VfUnitでは、実行対象のテストの指定は XMLにて行います。
Rootノードは <vfunit> とし、その子要素として <testcase> を記述していくことにより、 「どのテストを どんな順番で」 という指定を行ないます。
XMLのDTD は vfunit-2.0.dtd になります。

テスト指定XMLのファイル名は 英数字のみ使用することをお勧めします。
日本語のファイル名を使用した場合は、指定方法によっては XMLパーサにてエラーになったり、 Batファイルにてシステムプロパティとして指定できない などの制限が出てくるためです。

テストの実装は

  1. 画面上Componentへの操作
  2. チェック(Assert)
を組み合わせながらおこないますが、 記述の方法としては2種類あり、Javaコードとして記述する のと XMLにて記述する のどちらかを 選択しします。共存させる事も可能です。

Javaコードとして記述

jp.ne.mki.wedge.pub.vfunit.test.testcase.VfUnitTestCase を継承して JUnitと同様に public void test****() throws Exception というメソッドを作成 してコードを記述します。

画面上のComponentの参照を取得するためには、IComponentFinder getVfFinder() のメソッドより、 ComponentFinder を取得し、このクラスからコンポーネントを取得します。
Componentに対し、をクリック、KEY入力 ・・・ などの、画面操作を行なうためには ITestHelper getVfHelper() のメソッドより TestHelper を取得し、このクラスのメソッドから操作を 行ないます。

サンプルコードとして sample/camc/sample_src.zip の中の jp.ne.mki.wedge.pub.vfunit.sample.camc.testcase.CommonCheck.java も参照してください。
※JUnit3 の形式で記述しています。今後、JUnit4の形式にて変更する可能性もあります。

作成したテストクラスをVfUnitにて動作させるには、テスト定義のXMLの testcase タグの属性である class にクラス名を記述し、 クラスパスに設定してVfUnitを実行します。

<vfunit>
	<testcase class="jp.ne.mki.wedge.pub.vfunit.sample.camc.testcase.CommonCheck" />
	<testcase class="jp.ne.mki.wedge.pub.vfunit.sample.camc.testcase.CommonCheck2" />
</vfunit>

XMLにて記述

TestのJavaコードを書くのではなく、XMLに直接 操作、テストの記述を書くことも可能です。

<vfunit>
	<testcase name="SwimgDemoのテスト" framename="SwingDemo" />
		<test name="年齢に数字以外を入れられたときのテスト">
				<set-string comp="txtAge" value="3a" />
				<next-focus />
				<assert-dialog title="エラー" label="数字以外が入力されています!" />
				<close-dialog title="エラー" buttonindex="0"/>
				<assert-hasfocus comp="txtAge" />
				<set-string comp="txtAge" value="30" />
				<click comp="btnClose"  />
		</test>
	</testcase>
</vfunit>

上記の記述では、以下の操作の指定になります。

  1. "txtAge" の名前のComponentに "3a" の文字を入力します。
  2. 次にフォーカスを移動します。 (TABを使って)
  3. "エラー"が画面タイトルのダイアログを探し、その文字列が "数字以外が入力されています!" であるかチェックします。
  4. "エラー"が画面タイトルのダイアログの 0つ目のボタンをクリックしてダイアログを閉じます。
  5. "txtAge" の名前のComponentが フォーカス当たっている状態かどうかチェックします。
  6. "txtAge" の名前のComponentに "30" の文字を入力します。
  7. "btnClose" の名前のComponentをクリックします。

Clickなどの操作 は jp.ne.mki.wedge.pub.vfunit.tag.process パッケージ のクラスを使用します。
DataBaseの操作系 は jp.ne.mki.wedge.pub.vfunit.tag.process.db パッケージ のクラスを使用します。
Assertチェック は jp.ne.mki.wedge.pub.vfunit.tag.check パッケージ のクラスを使用します。
XMLの記述形式は vfunit-2.0.dtd を参照してください。
記述サンプルは sampleアプリで使用している sample/camc/camc_sample_tests.xml、sample/swing/swing_sample_tests.xml を参照してください。

XMLは vfunit-2.0.dtd に沿って必ず記述してください。
XmlBuddy のツールを使うと、DTD指定により 入力補完機能や、エラー箇所が分りやすいので オススメです。

実行方法

プロパティの設定

実行時に使用する XMLファイルパス や、レポート出力場所 などの情報を VfUnitに渡す必要があります。
渡す方法は、2種類あります。

  1. VfUnit.properties のプロパティファイルを実行カレントディレクトリに配置
    KEY=値 の形式で Unicode にて記述してください。
    (テキストエディタで編集した場合は native2ascii をして下さい。 Eclipseのプラグイン プロパティエディタ を 使うと楽に記述できます)
  2. Systemプロパティに設定
    SystemプロパティのKEYにて "VfUnit." + KEY名称 を指定します。
    XML_FILE_PATH を指定する場合には

    java -DVfUnit.XML_FILE_PATH=sample/test.xml junit.textui.TestRunner ・・・

    のように指定します。

両方指定されていた場合には、Systemプロパティの設定 が優先されます。

KEY一覧

XML_FILE_PATH テスト定義XMLのファイルパスを記述します。
resource: から始まる指定の場合は リソースから読込を行い、 http: から始まる指定の場合には URL先から読込を行います。
file: から もしくは 上記以外の場合には ファイルシステムから読込を行います。
ディレクトリ指定の場合は ディレクトリ内の全てのXMLファイルが対象になります。
例外として 「CVS」という名前のディレクトリは除外します。
ディレクトリ内のXMLファイルを細かく指定したい場合には、antにて指定します。
デフォルトでは 設定はありません。 必ず設定を追加してください。
MAIN_CLASS 起動するアプリケーションのMAINクラス名を指定します。 指定されたクラスを自動的にインスタンスします。
デフォルトでは 設定はありません。 必ず設定を追加してください。
MAIN_ARGS アプリケーションに渡すJava引数を指定します。デフォルトでは 設定はありません。
IS_ERROR_STOP Error発生した時にテストを中断するかどうかを指定します。
true もしくは false を指定してください。
デフォルトでは false になります。
COMPONENT_FINDER_CLASS Componentを探し出すクラスの設定です。 jp.ne.mki.wedge.pub.vfunit.finder.IComponentFinder のインターフェースを実装したクラスを設定します。
標準実装として以下の2つがあります。
  1. jp.ne.mki.wedge.pub.vfunit.finder.DefaultComponentFinder
    デフォルト実装。
  2. jp.ne.mki.wedge.pub.vfunit.finder.VfComponentFinder4Ver12
    CAMC実行時に使用する。CAMC独自の操作やチェック (例えば アイテムの内容のチェック)などを行うためには、このクラスを指定して下さい。
TEST_HELPER_CLASS マウス、キー操作を行うクラスの設定です。 jp.ne.mki.wedge.pub.vfunit.helper.ITestHelper のインターフェースを実装 したクラスを設定します。
標準実装として以下の1つがあります。
  1. jp.ne.mki.wedge.pub.vfunit.helper.DefaultRobotTestHelper
    デフォルト実装。
REPORT_IS_ENABLE 結果レポートを出力するかどうかの指定です。
true もしくは falseを指定してください。
デフォルトでは true になります。
ここでの結果レポートとは report.xml の出力を指しています。
HTMLに変換する場合には 別途HtmlConverterを実行する必要があります。
HtmlConverterについては テストReport を参照してください。
REPORT_DIRECTORY 結果レポートを出力するかディレクトリパスの指定です。
デフォルトでは ./report/ になります。
REPORT_WRITER_CLASS 結果レポートを出力するクラスです。
jp.ne.mki.wedge.pub.vfunit.reporter.IReportWriter インターフェースを実装した クラスを指定します。
デフォルトでは jp.ne.mki.wedge.pub.vfunit.reporter.TestReportWriter になります。
REPORT_FILE 出力するレポートファイル名です。
デフォルトでは report.xml になります。
USER_PROCESS_TAG_PATH XMLにて<test>以下に記述する操作系、チェック系拡張タグマッピングの追加ファイルの指定です。
デフォルトでは file:./UserVfUnitTagMapping.properties になりますが、 ファイルが存在しない場合でもエラーは発生しません。
resource: から始まる指定の場合は リソースから読込を行い、 http: から始まる指定の場合には URL先から読込を行います。
拡張タグ詳細については 拡張方法 Process,Assertタグの追加 を参照してください。
USER_TEST_TAG_PATH XMLにて<testcase>,<test>のレベルの拡張タグマッピングの追加ファイルの指定です。
デフォルトでは file:./UserVfUnitTestMapping.propertis になりますが、 ファイルが存在しない場合でもエラーは発生しません。
resource: から始まる指定の場合は リソースから読込を行い、 http: から始まる指定の場合には URL先から読込を行います。
拡張タグ詳細については 拡張方法 Testタグの追加 を参照してください。
VF_COMPONENT_FIND_NAME_TYPE VF-Componentの名称の検索対象の指定です。
physical もしくは logical を指定してください。
physical の場合は 物理名で検索し、 logicalの場合は論理名で検索します。
デフォルトでは physical になります。
VF_ITEM_FIND_NAME_TYPE VF-アイテムの名称の検索対象の指定です。
physical もしくは logical を指定してください。
physical の場合は 物理名で検索し、 logicalの場合は論理名で検索します。
デフォルトでは physical になります。
DELIMIT_COMPONENT_START 結果レポート出力時に コンポーネント名称記述 する時の 開始文字列の指定です。
DELIMIT_COMPONENT_START=「
DELIMIT_COMPONENT_END= 」
と指定されていた場合には、"「{コンポーネント名称}」をClickする" のようにレポート出力されます。
デフォルトでは 「 になります。
DELIMIT_COMPONENT_END 結果レポート出力時に コンポーネント名称記述 する時の 終了文字列の指定です。
デフォルトでは 」 になります。
DELIMIT_ITEM_START 結果レポート出力時に アイテム名称記述 する時の 開始文字列の指定です。
デフォルトでは 【 になります。
DELIMIT_ITEM_END 結果レポート出力時に アイテム名称記述 する時の 終了文字列の指定です。
デフォルトでは 】 になります。
DELIMIT_ITEM_VALUE_START 結果レポート出力時に アイテムの値を記述 する時の 開始文字列の指定です。
デフォルトでは [ になります。
DELIMIT_ITEM_VALUE_END 結果レポート出力時に アイテムの値を記述 する時の 終了文字列の指定です。
デフォルトでは ] になります。
PROCESS_WAIT_TIME XML指定実行の場合の各処理の前に待機時間を設定します。 設定はミリ秒で設定してください。
デフォルトは 100 になります。
since ver 2.0.1

JavaApplicationとして実行

起動は jp.ne.mki.wedge.pub.vfunit.VfUnitXmlSuite のクラスを JUnit のRunnerに渡します。

junit.textui.TestRunner jp.ne.mki.wedge.pub.vfunit.VfUnitXmlSuite

※junit.swingui.TestRunner(GUI版) は JUnit4では廃止されています。実行時にJUnit3を使用するとGUIでの実行が可能になります。

起動時には プロパティの設定を行う必要があります。
Webtribe/VisualFrameのCAMC画面を操作する場合には、以下の3つの記述をします。

XML_FILE_PATH=(作成したテスト定義XMLファイルパス)
MAIN_CLASS=jp.ne.mki.wedge.run.client.main.WedgeMain
COMPONENT_FINDER_CLASS=jp.ne.mki.wedge.pub.vfunit.finder.VfComponentFinder4Ver12

結果のReportXMLファイルをHTMLに変換する場合には、続けて HtmlConverterクラスを実行します。 Converterの詳細は テストReport を参照してください。

Antとして実行

VfUnitを実行するAntの拡張タグが用意されていますので、それを使いAnt実行の指定が可能です。
Antの拡張タグは jp.ne.mki.wedge.pub.vfunit.ant.VfUnitRunnerTag にて提供しています。 設定は以下のように行います。

<?xml version="1.0" encoding="UTF-8"?>

<project name="camc-demo" default="CamcDemoTest" basedir="./">

	<taskdef name="vfunit"
		classname="jp.ne.mki.wedge.pub.vfunit.ant.VfUnitRunnerTag"
		classpath="lib/vfunit-2.0.jar"/>
				
	<target name="CamcDemoTest" description="CamcDemoのテストを実行する">
	<vfunit 
		mainClass="jp.ne.mki.wedge.run.client.main.WedgeMain"
		componentFinderClass="jp.ne.mki.wedge.pub.vfunit.finder.VfComponentFinder4Ver12"
		classpath="./bin:${JUnit}:${JFCUnit}:${VfUnit}:${RunClient}"
		reportIsEnable="true"
		reportDirectory="./report"
		reportFile="report.xml"
		>

		<fileset dir="./xml" 
			includes="*.xml" />
	</vfunit>
	</target>
</project>
		

taskdef にて vfunit の拡張タグを登録します。(Antの機能)
プロパティはvfunitの属性にて設定します。属性は プロパティの設定 の一覧にある KEY名称 にて _ (アンダーバー)を外した文字列になります。
例えば、MAIN_CLASS は mainClass と指定します。
また、classpath 属性に 使用するJARファイルを指定します。指定方法は ANTのJavaタスクと同様になります。
子要素には fileset を指定できます。
fileset では テストを行う対象のXMLファイルを指定します。
fileset の設定方法は ANTの fileset の指定と同様になります。
sample/camc/ant-run.xml , sample/swing/ant-run.xml に ANTの定義がありますので、こちらも参考にして下さい。

Eclipseで実行

Eclipseから起動する場合には JUnit実行構成 で jp.ne.mki.wedge.pub.vfunit.VfUnitXmlSuite の 単一テスト実行 を 行います。 Eclipse起動lancherイメージ
ClassPathの設定にて、必要なクラスパスを設定してください。
プロパティの設定 を行った状態で実行してください。 Webtribe/VisualFrameのCAMC画面を操作する場合には、以下の3つの記述をします。

XML_FILE_PATH=(作成したテスト定義XMLファイルパス)
MAIN_CLASS=jp.ne.mki.wedge.run.client.main.WedgeMain
COMPONENT_FINDER_CLASS=jp.ne.mki.wedge.pub.vfunit.finder.VfComponentFinder4Ver12

JUnit3にて実行すると以下のようにGUIにて結果が表示されます。
Eclipse結果イメージ
文字列比較でのエラーなどの場合では、障害トレースの1行目をダブルクリックすると詳細の ダイアログが表示されます。
Eclipse結果イメージ2

テストReport

テスト結果

テスト実行後、テストReport として XMLファイルが出力されます。(プロパティの設定で出力有りにしている場合)
デフォルトの設定では {実行カレントディレクトリ}/report/report.xml に出力されます。
レポート出力サンプル(XML)

出力された report.xml を 見やすい形にフォーマットするクラスとして Converterクラスを 用意しています。 これを実行することにより、HTMLに変換を行うことができます。
提供しているConverterクラスは以下があります。

  1. jp.ne.mki.wedge.pub.vfunit.reporter.HtmlConverter_Table
    TABLE形式にてレポートを出力します。デフォルト設定です。
    レポート出力サンプル(HTML-TABLE)
  2. jp.ne.mki.wedge.pub.vfunit.reporter.HtmlConverter_Tree
    Tree形式にてレポートを出力します。
    内部ではJavaScriptを使用しています。 JavaScript,イメージファイル は http://www.pactera.jp/developers のものを使用しているため、 インターネットが使用できる環境にてお使い下さい。
    レポート出力サンプル(HTML-TREE)

実行は、Java引数 にて 第一引数に 変換元ファイル名、 第二引数に 変換後ファイル名を指定します。
HtmlConverter_Table [変換元ファイル名] [変換後ファイル名]

%JAVA_HOME%/bin/java jp.ne.mki.wedge.pub.vfunit.reporter.HtmlConverter_Table ./report/report.xml ./report/report.html

Converterを実行するための ANT拡張タグ が用意されていますので、ANTにて実行も可能です。
対象のXMLファイルは filesetタグにて指定します。これにより、複数のXMLファイルを一括して処理することが 可能です。
ANT拡張タグのクラスは jp.ne.mki.wedge.pub.vfunit.ant.ReportConvertTag にて提供しています。

<?xml version="1.0" encoding="UTF-8"?>

<project name="camc-demo" default="CamcDemoTest" basedir="./">

	<taskdef name="vfconvert"
		classname="jp.ne.mki.wedge.pub.vfunit.ant.ReportConvertTag"
		classpath="lib/vfunit-2.0.jar"/>
				
	<target name="Report" description="Reportを出力する">
	<vfconvert
		todir="report"
		converterclass="jp.ne.mki.wedge.pub.vfunit.reporter.HtmlConverter_Table"
		classpath="./bin:${JUnit}:${JFCUnit}:${VfUnit}">
		
		<fileset dir="report"
			includes="*.xml">
		</fileset>
	</vfconvert>
	</target>
</project>		
	

テスト操作手順書

定義XMLを使って、テスト操作手順書 を出力するクラスも用意しています。
jp.ne.mki.wedge.pub.vfunit.reporter.ProcessWriter のクラスになります。
操作手順書サンプル(HTML)
実行は、Java引数 にて 第一引数に 変換元ファイル名、 第二引数に 変換後ファイル名を指定します。

%JAVA_HOME%/bin/java jp.ne.mki.wedge.pub.vfunit.reporter.ProcessWriter .test.xml ./report/process.html

複数の定義XMLを一括して処理したい場合には ANTにて定義を行ってください。
使用するタグは テスト結果出力時ど同様の ReportConvertTagクラスを使用します。
fileset で指定する XML ファイルは 定義XMLを指定します。

<?xml version="1.0" encoding="UTF-8"?>

<project name="camc-demo" default="CamcDemoTest" basedir="./">

	<taskdef name="vfconvert"
		classname="jp.ne.mki.wedge.pub.vfunit.ant.ReportConvertTag"
		classpath="lib/vfunit-2.0.jar"/>
				
	<target name="Report" description="Reportを出力する">
	<vfconvert
		todir="report"
		converterclass="jp.ne.mki.wedge.pub.vfunit.reporter.ProcessWriter"
		classpath="./bin:${JUnit}:${JFCUnit}:${VfUnit}">
		
		<fileset dir="report"
			includes="*.xml">
		</fileset>
	</vfconvert>
	</target>
</project>		
	

拡張方法

XMLでテストケースを記述する場合、記述タグ (<click>など) を追加することができます。
参考:VfUnit2.0 クラス図(一部のみ)

Process,Assertタグの追加

XMLテストケース中の <test>タグ以下に記述する、click, key などの 操作系タグ(Processタグ) と assert-text などの チェック系タグ(Assertタグ) は、独自に追加する事が可能です。
用意されていないチェックを実装したい場合 などにて作成してください。

操作系タグ(Processタグ)は jp.ne.mki.wedge.pub.vfunit.tag.IVfUnitProcess インターフェースを実装してください。
抽象クラスとして jp.ne.mki.wedge.pub.vfunit.tag.AbstractProcess がありますので、こちらを継承して作成すると若干楽に作成可能です。
操作系タグは jp.ne.mki.wedge.pub.vfunit.tag.process 内のソースを参考にしてください。

チェック系タグ(Assertタグ)は jp.ne.mki.wedge.pub.vfunit.tag.IVfUnitAssert を実装してください。
jp.ne.mki.wedge.pub.vfunit.tag.AbstractProcess を継承して、IVfUnitAssert を implements して作成すると若干楽に作成可能です。
Assert系のタグは jp.ne.mki.wedge.pub.vfunit.tag.check 内のソースを参考にしてください。

作成したクラスの登録は、実行カレントディレクトリ に UserVfUnitTagMapping.properties というファイル名を作成し、
{タグ名称}={クラス名}
の記述を行ってください。文字コードは Unicode にて記述する必要があります。

デフォルトの設定では、実行カレントディレクトリ/UserVfUnitTagMapping.properties のファイルがあれば、 ファイル読込を行います。
この設定は プロパティの設定 の USER_PROCESS_TAG_PATH にて切替が可能です。

VfUnit標準の設定は VfUnit-2.0.jar の中の VfUnitTagMapping.properties です。
バージョンアップの際にこのファイルの内容も変わる可能性があるため、このファイルの修正 を直接行うのはお勧めしません。

Testタグの追加

XMLテストケース中に <testcase> , <test> , <framerunner> を記述しますが、 このレベルのタグも追加することが可能です。
このタグを追加する用途ですが、 「テスト開始する前、テスト終了後 に 常に同じ処理を追加したい」 場合、拡張タグを自作し、そのタグを使用すれば、 "同じ処理" が自動的に追加する事が可能になります。
例えば、画面を起動する前には "ログインの処理" が必要で、画面を終了する際には "ログアウトの処理" というアプリケーションでは、Testタグを自作することにより、XML記述が楽になる ことが期待できます。

Testタグは junit.framework.Test インターフェースが実装されていれば追加可能です。
プロパティに設定された ComponentFinder,TestHelper を取得したい場合には jp.ne.mki.wedge.pub.vfunit.test.testcase.IVfUnitTestCase インターフェースを実装してください。

junit.framework.TestCase (JUnit3) では、 startUp() , tearDown() のメソッドにて テスト開始前処理、テスト終了後処理 を記述できる仕組になっています。
そのメソッドを使って実装することは可能ですが、GUIを操作、チェック する処理を入れることはできません。 (JFCUnitのコードを参考に、GUIのスレッドを意識してコードする必要があります)

継承元に特にこだわりがないのでしたら、
TestSuite系クラス (子要素として <test> を設定するクラス) は jp.ne.mki.wedge.pub.vfunit.test.testsuite.VfUnitTestSuite を継承して作成してください。
TestCase系クラス (<test>と同レベルのクラス。子要素として Process,Assertタグを設定する) は jp.ne.mki.wedge.pub.vfunit.test.testcase.VfUnitTestCase を継承して作成してください。
上記の2つのクラスでは、
テスト開始前処理 を public void addSetUpAction(IVfUnitTestAction action) 、
テスト終了後処理 を public void addTearDownAction(IVfUnitTestAction action)
にて追加出来る仕組になっており、追加された処理は GUI操作も行うことが可能です。

addSetUpAction, addTearDownAction を実装したTestクラスとして、 FrameRunnerTestSuite があります。

作成したクラスの登録は、実行カレントディレクトリ に UserVfUnitTestMapping.properties というファイル名を作成し、
{タグ名称}={クラス名}
の記述を行ってください。文字コードは Unicode にて記述する必要があります。

デフォルトの設定では、実行カレントディレクトリ/UserVfUnitTestMapping.properties のファイルがあれば、 ファイル読込を行います。
この設定は プロパティの設定 の USER_TEST_TAG_PATH にて切替が可能です。

VfUnit標準の設定は VfUnit-2.0.jar の中の VfUnitTestMapping.properties です。
バージョンアップの際にこのファイルの内容も変わる可能性があるため、このファイルの修正 を直接行うのはお勧めしません。

免罪事項/著作権について

■免罪事項
本製品を利用して、損害が発生した場合、当社は一切の責任を負いません。
全て自己判断のもとでご利用して下さるようお願いいたします。
また、MKI製品サポート契約をしているお客様でも お問い合わせはお受けできませんので、 予めご了承願います。

■著作権その他の権利について
本製品は フリー(無料) でご使用頂けます。(ソースも全て公開しております。)
ソースの改定などはご自由に行なって頂いてかまいません。
但し、内部で使用しているライブラリ JUnit,JFCUnit,DBUnit,Ant のライセンス規定に 違反しない形にてご使用ください。