WPFアプリのテスト自動化

WPF(Windows Presentation Foundation)は、Windowsアプリケーションのリッチなユーザーインターフェースを作成するためのMicrosoftのフレームワークです。

Ranorexは、WindowsデスクトップアプリのUIテストを自動化できることが強みであり、WPFアプリケーションの自動テストをおこなうことができます。

WPF

WPFは、2006年に登場したWindows向けのアプリ開発フレームワークで、Windows Formsよりも豊かで自由度の高いユーザーインターフェースを作成できるのが特徴です。例えば、ボタンや画面のデザインを細かくカスタマイズできるほか、UIに動きを加えることも直感的におこなうことができます。

  • Windows Formsの後に登場した、より表現力のある技術
    WPFは、Windows Formsの後に登場し、XAMLというマークアップ言語を使って、ボタンや画面のデザインを細かく自由にカスタマイズできます。
  • より高度で自由度の高いUIをVisual Studioのデザイナーで直感的に作成可能
    Visual Studioのデザイナーで、Windows Formsよりも複雑で表現豊かなUIを直感的に作り込むことができます。
WPFで作成したサンプルアプリ

WPFアプリの現状と活用シーン

WPFは、リッチで柔軟なUIが必要な業務アプリや顧客向けデスクトップアプリに向いています。複雑な画面構成や滑らかな操作性を実現し、高い表現力と保守性を備えているのが特徴です。

使用システム例:

  • 顧客向けデスクトップアプリ:販売管理、予約システム、グラフィカルなデータ分析ツールなど
  • エンタープライズ向け業務アプリ:業務フローの可視化、ダッシュボード表示、複雑なユーザー操作を伴うシステムなど

テスト自動化ツール「Ranorex」とは

Ranorexは、デスクトップWebモバイルアプリ対応のUIテスト自動化ツールです。アプリ画面操作のレコーディングで簡単にテスト作成できるため、テスト初心者でも扱いやすいです。

Ranorexの特長などの製品紹介資料は以下からダウンロードいただけます。

Ranorexは、14日間の体験版を無償でご利用いただけます。
UIテスト自動化を検討のお客様は、ぜひこちらから、体験版をダウンロードしてご評価ください。

RanorexによるWPFアプリのテスト自動化

ノーコードでテスト作成

Ranorexのレコーディングモードで、各UI要素(コントロール)に対しての操作を記録することで、テストを簡単に作成できます。

Ranorexのレコーディング

以下のようなWPFの標準コントロールをRanorexで操作できます。

  • Button(ボタン)
  • CheckBox(チェックボックス)
  • ComboBox(コンボボックス)
  • TextBox(テキストボックス)
  • Label(ラベル)
  • ListBox(リストボックス)
  • ListView(リストビュー)
  • DataGrid(データグリッド)
  • TabControl(タブコントロール)
  • Slider(スライダー)
  • ScrollViewer(スクロールビューア)
  • StackPanelGridCanvas(レイアウトパネル)
  • Image(画像表示)
  • RadioButton(ラジオボタン)
  • PasswordBox(パスワード入力)

また、RanorexはWebアプリのテストにも対応しているため、WindowsFormと同様に、Webコンテンツを埋め込むコントロールのWebBrowserWebView2内のUI要素も認識できます。

  • WebBrowser
    Internet Explorerの古いレンダリングエンジンを使い、基本的なWeb表示に対応
  • WebView2
    最新のMicrosoft Edge(Chromium)エンジンを利用し、高速表示かつ最新のWeb標準や機能に対応

UI要素の認識方法

Ranorexは、UI要素をロケーションパス(RanoreXPath)で認識し、このUI要素の情報を操作内容と紐づけて記録します。
テスト実行時に、この方法で認識したUI要素に対して操作が実行されます。

UI要素のロケーションパス (RanoreXPath)

ロケーションパスは、アプリの内部情報を読み取って生成しています。
以下のように、各コントロールのプロパティ情報(XAML)をRanorexが自動的に読み取ってロケーションパスを生成しています。※以下の情報は、button[@automationid=’登録ボタン’]に該当する部分です。

コントロールのプロパティ情報

検証

画面に表示されたテキスト情報などをもとに、文字列検証することもできます。

入力フォームに名前を入れて登録ボタンを押すと、その名前が画面に表示されるアプリの場合、画面に表示される文字列が期待通りかを検証できます。

Ranorexの文字列検証

また、画面全体の画像比較もおこなうことができます。期待画像と実際にテスト実行したときの画像が一致するかを検証できます。

Ranorexの画像検証

画像比較で差分があるときは、エラーとして差分画像をレポートに表示できます。

差分画像のレポート

左側の画像は、比較した2つの画像の差がある部分を白で示し、差がない部分を黒で表しています。右側の画像は、2つの画像の色の違いの大きさを色の濃淡で表し、差が大きいほど明るく、差がない部分は灰色で表示しています。

テスト実行・テスト結果の確認

作成したテストの実行やテスト結果レポートの確認については、通常の方法と同様におこなうことができます。
詳しくは以下のページをご参照ください。

まとめ

WPFは、高度でリッチなUIを実現できるWindows向けのデスクトップアプリ開発フレームワークで、多彩な業務システムや顧客向けアプリで広く使われています。

Ranorexは、WPFアプリのUIテストを簡単に自動化でき、ボタンやコンボボックスなど多様なコントロールの操作に対応しています。また、WebBrowserやWebView2といったWeb表示コントロールのテストもサポートしているため、WPFアプリのテスト自動化にRanorexをご利用いただいているユーザー様は多数います。

WPFアプリのテスト自動化をご検討は、ぜひRanorexの体験版でお試しください。

Ranorex は無償で14日間、
すべての機能をお試しできます!

14日間の無償体験版をお使いのPCにインストールすることで、すぐに自動化をはじめられます。
自動化ツールを検討されている方は、ぜひお試しください。

Windowsデスクトップアプリの各テクノロジー記事