モジュール単体のテストはJUnitなどの手法が確立されていますが、WebアプリのUIを通じた統合テストはまだ膨大なEXCELの表と延々と続く手作業に頼っている人が多いのではないでしょうか。
ROBO-IEは、Microsoft Internet Explorer専用ではありますが、もっとわかりやすく、簡単に全自動UIテストコードを書くためのフレームワークです。
全 自動とはいっても、相手はユーザーインターフェイスですから、たとえば夜間ビルドのたびに回して…というのはあまり望ましくありません。ちゃんと人間が目で 見て正しい動作をしているか判断することがどうしても必要です。
ROBO-IEが提供するインターフェイスでは、ダイアログなど、インタラクティブ性やログメッセージといった、テスト自体のユーザーインターフェイス も便利に使えるようになっています。
実際にROBO-IE用のテストコードを例にとって説明します。言語はJScriptのみの対応となっています。
var win = IEController.getLastWindow(); // 最後に開いたIEを自動運転する
win.open("http://www.google.co.jp/"); // URLを指定してジャンプ
win.link("イメージ").click(); // "イメージ"という文字列が含まれるリンクをクリック
win.text("").value = "モーニング"; // 値の入っていないテキスト入力フィールドに"モーニング"を入力
win.button("イメージ検索").click(); // "イメージ検索"という文字列が含まれるボタンをクリック
confirm("モーニングに関する画像が検索できていますか?"); // ダイアログを表示して、結果の妥当性を判定させる
win.link("ヘルプ").click();
win.link("ホーム").click();
assert("http://images.google.co.jp/webhp?hl=ja&tab=iw", win.link("ウェブ").href); // assertも使える
win.link("ウェブ").click();
win.check("日本語のページ").click(); // "日本語のページ"というラベルがついているラジオボタンをクリック
win.link("検索オプション").click();
このように、ブラウザの画面上に現れている文字列をもとにUIオブジェクトを取得し、クリックしたり、値を書き込んだりといった操作を行います。
「テスト実行」をクリックすると、選択されているテストケーススクリプトの内容に従ってIEを自動操縦します。最後まで正常に実行できれば緑色の「OK」、途中でエラーが起こったりユーザーが中断したりすると赤色の「NG」の表示になります。
Microsoft Windows 2000 , XP Home/Pro
HTML ApplicationとWSHが動作する環境
何か別のライブラリや特別なレジストリなどは必要ありません。適当なフォルダに解凍してください。
Runner.htaをWindowsの関連づけに従って開いてください。テストケーススクリプトのサンプルがsampleフォルダの中にいくつかありますので、「テストケース」に読み込んで実行してみてください。
質問フォーラムまで、お気軽に投稿してください。