Compartilhar via


【UIA】UI Automation を用いたユーザーインターフェイスのテスト - 3

■■■
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
■■■

※この投稿で行っている内容については第1回の投稿でソースコードを入手いただけます。

さて、いよいよ、単体テスト用のテストプロジェクトを作成して、UI Automation を用いてテスト対象アプリケーション(今回は一番扱いやすい WPF アプリケーションとします)の UI をテストしてみます。

そのためには、いくつかの設定をテストプロジェクトで行う必要があります。

まずは、参照設定です。UI Automation の API を使うために必要です。参照設定は、テスト対象となるアプリケーションの基盤テクノロジー(WPF とか、Windows Forms とか、Web Forms とか)によって異なります。

今回は、WPF としますので、以下を参照設定すれば、必要最低限は OK です(あくまで長沢の経験上としておきましょう):

  •  
    • PresentationCore
    • PresentationFramework
    • UIAutomationProvider
    • WindowsBase

UIAutomationProvider 以外は、テスト対象となる WPF アプリケーションのプロジェクトを見ていただければ参照設定に含めれていることがわかります。よって純粋に UI Automation 用に必要な参照設定の胆は、UIAutomationProvider であることがわかりますね。

※もちろん、テスト対象となるプロジェクト(今回の例では、WpfUIA)も参照設定されていなければ行ってください。

さてさて、参照設定が終わったら、適当な単体テスト用のファイルを作成しましょう。ここでは、Window1Test.cs とでもしておきます。このファイルを開き、次に using 設定を行います。

using WpfUIA; // 設定されていなければ、忘れずに using Microsoft.VisualStudio.TestTools.UnitTesting;  

// 設定されているはず
/* 省略 */ using System.Windows.Automation.Provider; // for UIA using System.Windows.Automation.Peers; // for UIA using System.Windows.Controls; // for UIA

これで、UI を操作する準備が整いました(あくまで設定としてですが・・・)。

次回は、単体テストで UI を操作する例を示したいと思います。

ながさわともはる

Comments

  • Anonymous
    April 01, 2008
    序: UI Automation の紹介 第1回: ソースコードの入手方法の紹介 第2回: WPF アプリケーションにおける Accessibility 設定 第3回: 単体テストで UI Automation