【VS Gallery】GUI 機能テストの一つのソリューション ~ Test Automation FX
■■■
2010.09.27 追記:
Visual Studio 2010 Premium, Ultimate にて 自動 UI テストが新機能として搭載されました。こちらを使うと、UI Automation に対応したアプリケーションの UI テストを、単体テストフレームワークとして実施可能です。テストしたい UI 動作のレコーディングおよび、検証(アサーション)の設定を GUI で行い、単体テストコードを自動生成してくれます。
参考: https://blogs.msdn.com/b/tomohn/archive/2010/09/16/essense-of-tfs-vol-15-ui-automation-testing-with-team-foundation-server-2010.aspx
■■■
こんにちは。皆さん、Visual Studio Gallery というのをご存知でしょうか?ここには、Visual Studio をより使い勝手のよい開発環境にするちょっといい、かゆい所に手が届くツール群が多数紹介されています。無償のものから、有償のものまで様々ですが、掘り出し物がきっと見つかると思うので、ぜひ定期的にウォッチしていただければと思います。
そんなわけで、私も、定期的にチェックしているのですが、今日面白いものを見つけてしまいました。今回は、「それ」をご紹介いたします。
それとは、そうです、Test Automation FX です。入手先、インストール手順は後述するとして、さくっと何ができるのかをお伝えしましょう。
ズバリ!UI の動作を記録して、実行できるテスト自動化ソリューションの一つになります。おおざっぱな手順をスクリーンショットで見てみましょう!
アプリケーションの操作をレコーディング:
テキストボックスに数値(円)を入力し、[$に変換] ボタンをクリックするとボタンやらラベルやらがにぎやかにアニメーションしている間に為替レート取得 Web サービスにアクセスし、ドル建ての結果を表示するっという単純なアプリケーションです(WPF アプリ)。
右上に表示されているウィンドウがレコーディングの情報を記録しているとものです。
記録された操作記録:
[UITest()]
public void Test3()
{
UiTextBox.Click(268, 26);
Keyboard.SendKeys("10000");
UiButton.Click(102, 42);
Verify.UserAcknowledge("120");
}
こんな感じの実にシンプルなコードが出力されます。なにやているのかわかってしまいますね。各オブジェクトのプロパティ値などの検証もGUI上で設定できます(コードとしては上記のVerifyで表現されています)。
テストの実行:
Visual Studio でビルドして、実行(デバッグ実行でも大丈夫なようです)すると、Test Runner が起動するので、Start させます。
テスト中:
スクリーンショットがうまくとれていませんが (^^; アプリケーション上でテストが実施されています。
結果が表示されています。
というように、これはどちらかというと GUI アプリケーションの機能テストですね。サードパティ製品も含めいくつか出ていますので、それも含めて検討するといいかもしれません。
ただ、このツールは(おそらく) UI Automation を内部で使用していると思われます。非常に興味深いです。
Test Automation FX の詳細情報および入手:
現在ベータ版という位置づけのようです。
Test Automation FX のインストールと注意点:
日本語版 Visual Studio 2008 環境では、インストールはうまくいきますが、プロジェクトのテンプレートがでてきません。これは英語版にのみ対応したパッケージの場合によくあるケースですね。以下のような対処をすることで、プロジェクトテンプレートを使えるようにすることができます。
Visual Studio 2008 を既定のフォルダにインストールした場合、
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\ [CSharp|VisualBasic] \Test\1033 にある TestAutomationFX Application.zip を C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\ [CSharp|VisualBasic] \Test\1041 にコピーします。
次に、「Visual Studio 2008 コマンド プロンプト」を「管理者として実行」し、devenv /InstallVSTemplates を実行しておきます。これで日本語環境でもテンプレートを使えるようにはなります(作成者の意図した使い方ではないので、動作については自己責任でということになると思いますので、ご注意ください)。
<追記 when="2008.05.15 10:40">
上記のプロジェクトテンプレートの設定や項目テンプレートについては、MVP のナオキさんのブログ投稿が参考になります。今回のこのツールの場合は、項目テンプレートはなさそうですが、同じようなケースがある場合には非常に参考になります(^^)
# 実施は自己責任でお願いします。
ナオキさんの投稿:
https://cs.gogo-asp.net/blogs/naoki/archive/2008/05/13/_0C30B065573044300598EE766E30FD8FA0520D306B3068883A7955308C30663044306A3044300C300598EE76C630F330D730EC30FC30C8300D309230FD8FA05259308B30_.aspx
</追記 when="2008.05.15 10:40>
プロジェクトの新規作成で、「テスト」にテンプレートがでてくれば OK です。
このように、有益なツール、面白そうなツールがたくさん、紹介されている Visual Studio Gallery をぜひ覗いてみてください。今日は、もうひとつ気になるものを見つけました。Typemock Isolator というものです。これもまた面白そうなのですが、時間がない(もう寝ないと)ので、この辺で。
T.N.