Power Automate for desktop と Ranorex の違い

UI テストの自動化において、すでに導入済みの RPA ツールを利用したいという声をよくいただきます。画面の操作の自動化であれば、 Microsoft Power Automate を使えばよいのではないかと考える方もいるでしょう。

Power Automate には、Power Automate (クラウドフロー)と Power Automate for desktop (デスクトップフロー)の2種類があります。クラウドフローは、有償ですが、コネクタを利用することで様々なサービスの作業を自動化できます。デスクトップフローは、無償でも利用可能であり、Windows 上で動作するデスクトップや Web アプリの作業を自動化します。

今回は、デスクトップや Web アプリの自動化をメインに、Power Automate for desktop に焦点を当て、UI テスト自動化ツールである Ranorex との違い、どちらを選ぶべきかについてご紹介します。

Power Automate for desktop とは?

Power Automate for desktop は、Microsoft が提供している RPA ツールで、デスクトップアプリや Web アプリの作業を自動化します。シナリオの作成は、キーボードやマウス操作をレコーディングすることで簡単におこなえます。また、テンプレートが用意されているため、ルーチンワークやメール通知、データの自動転送などを容易に実現できます。

Power Automate for desktop には無償版と有償版があります。無償版では、ローカル環境でデスクトップや Web アプリの基本的なシナリオの作成ができ、Microsoft 製品など、業務でよく利用するツールのアクションが用意されています。一方で、様々なサービスとの連携やセキュリティ機能、テクニカルサポートが必要な場合には、有償版を利用する必要があります。

Power Automate for desktop と Ranorex の違い

Power Automate for desktop と Ranorex は、操作のレコーディングや GUI 上でのマウス操作で直感的にシナリオを作成・メンテナンスができます。オブジェクト認識においては、座標や画像ベースではなく、ロケーターを用いて UI 要素を認識しているため、画面のレイアウト変更にも強いです。こうした共通部分もある一方で、利用目的や機能面での違いがあります。

利用目的

Power Automate for desktop は、業務処理の効率化を目的としており、事務処理などの定型業務作業を自動化します。手動での繰り返し作業を軽減し、異なるアプリケーション間のデータのやりとりなどを円滑にします。たとえば、メール通知の送信やレポートの作成など、多岐にわたるタスクを自動化することで業務を効率化できます。

Ranorex は、アプリの UI テストの効率化と品質向上を目的としています。UI 操作を通じて、アプリの修正や新機能追加に伴う既存機能への影響を確認したり、異なるデバイスやブラウザなどの複数環境で確認するようなテストを自動化します。このような UI テストを自動化することで、テスト工数を大幅に削減できます。

アクション機能

Power Automate for desktop は、UI 要素のクリックやフォーム入力、データ抽出をおこなう基本的なアクションがあります。デスクトップ・Web アプリ、業務でよく利用するツールごとにアクションが用意されているため、各アプリやツールでおこなう操作を簡単に設定できます。

  • UI オートメーション (デスクトップ): ウィンドウの起動と終了、フォーム入力、データ抽出、UI 要素のスクリーンショット
  • ブラウザー自動化 (Web):ブラウザーの起動と終了、フォーム入力、データ抽出、Web ページのスクリーンショット
  • Excel: 別のアプリから抽出したテキストや画像の添付、値の入力、マクロの実行、Excel ワークシートの値の抽出
  • Outlook: Outlook の起動と終了、メールのメッセージの取得、新規メールの送信、既存メールの返信
  • データベース: SQL の接続と切断、ステートメントの実行
  • PDF: テキストやテーブル、画像の抽出、複数の PDF ファイルの統合

Ranorex は、デスクトップと Web アプリで共通のアクションが用意されています。UI 要素のクリックやフォーム入力、データ抽出はもちろんのこと、検証機能のアクションが用意されています。また、アクションをコード化し、ユーザー自身で処理を記述して拡張することもできます。テストを柔軟に拡張し、より複雑な操作の自動化も実現可能です。

  • Mouse:右/左クリック、マウスホイール
  • Key Sequence:キーボード入力
  • Validate:存在検証、属性検証(正規表現あり)、画像検証
  • GetValue/SetValue :値の取得、値の設定
  • オートメーションヘルパー:電子メールによるテストレポートの自動送信、UI 要素のドラッグ&ドロップ、ファイルのテキスト比較など
    ※Ranorex Studio ソリューションで使用できる便利なコードモジュールとメソッド

テスト検証・結果出力

Power Automate for desktop は、業務処理の効率化を目的としているため、検証機能はありません。一方で、画面のスクリーンショットを撮るアクションは用意されているため、スクリーンショットを指定した場所に保存したり、Excel などに添付することで、目視で画面の確認をすることは可能です。

Ranorex は、検証機能があり、テキストや画像が期待通りに画面に表示されていることを確認できます。
以下の内容を検証することが可能です。

  • 存在検証:オブジェクトの存在の有無を検証
  • 属性検証:オブジェクトの属性値が期待値と一致するかを検証
    (正規表現や部分一致での検証が可能)
  • 画像検証:オブジェクトの画像が期待する画像と一致するかを検証
    (類似度の指定、マスクやフィルター機能の利用が可能)

テスト結果は、自動生成されるテストレポートに出力されるため、検証結果やスクリーンショットをまとめる作業を減らすことができます。テストレポートは、PDF/HTML/CSV/JUnit 形式で出力して、Ranorex がインストールされていない環境でテストレポートを閲覧することもできます。また、ビデオレポートも用意されているため、実行時の動作を確認することが可能です。

テストシナリオの管理

Power Automate for desktop は、ワークフロー形式でシナリオを管理します。業務プロセスの自動化では、シナリオのステップや条件を視覚的に表現できるワークフロー形式が最適なため、テストケース管理の機能はありません。

Ranorex は、テストケースを用いて、テスト仕様書に沿ってシナリオを効果的に管理できます。各テストケースがどの要件や仕様に基づいているかが把握できるため、メンテナンスがしやすくなります。テスト結果の分析においても、テストケースごとに結果が表示されるため、どの部分でエラーが発生したのかを容易に特定できます。また、シナリオをモジュール化して管理でき、複数のテストケースでシナリオを再利用できるため、テスト作成やメンテナンス工数を軽減できます。なお、作成したモジュールは、別のプロジェクトでも利用できるため、他の人が作成したテスト資産を流用できます。

Power Automate for desktop と Ranorex の比較結果

Power Automate for desktopRanorex
利用目的業務処理の効率化UI テストの効率化
アクション機能基本操作のアクション
業務ツール別のアクション
基本操作のアクション
検証アクション
ユーザーコードアクション
テスト検証・結果出力なしあり
テストシナリオの管理なしあり

Power Automate for desktop と Ranorex どちらを選ぶべきか

Microsoft 製品を利用する場合は Power Automate for desktop がおすすめ

Power Automate for desktop では、Excel や Outlook などの Microsoft 製品のアクションが用意されています。たとえば、Excel の各セルへの入力や、Outlook のメール送信などの設定ができるアクションがあるため、デスクトップや Webアプリで表示されるデータを Excel にまとめたり、メールの宛先や本文などにデータ入力して送信することが容易になります。このような作業を自動化する場合は、Power Automate for desktop がおすすめです。

テスト自動化に使用する場合は Ranorex がおすすめ

Power Automate for desktop は、業務処理の効率化が目的のため、テスト機能はありません。一方で、Ranorex にはテスト機能が用意されており、検証やテストレポートの生成を自動化できます。これらの自動化により、テスト結果の確認にかかる工数や検証漏れなどの人為的ミスを軽減できるため、テスト自動化が目的の場合は、Ranorex がおすすめです。

大規模なテスト自動化をおこなう場合は Ranorex がおすすめ

Power Automate for desktop は、シナリオをワークフローで管理するため、どのテスト要件や仕様に基づているのかを把握するのに手間がかかります。一方で、Ranorex は、テスト仕様書に沿って、テストケースを利用してシナリオ管理ができ、テスト資産の流用もおこなえるため、シナリオ数が多く、テストフローが煩雑化しやすいような大規模なテストでは、 Ranorex を選んだほうがよいでしょう。

まとめ

Power Automate for desktop と Ranorex は、ノーコードで直感的にテスト作成やメンテナンスが可能ですが、利用目的によって選択が変わります。UI テストの効率化が目的である場合は、テストに特化した機能が備わっている Ranorex のようなツールを利用することで、より効率化を図ることができます。しかしながら、検証やレポート生成の自動化機能は必要なく、導入コストを抑えて、UI 操作をスムーズに自動化したい場合は、Power Automate for desktop で十分かもしれません。

Power Automate for desktop は、一部、機能制限はあるものの、無償版が用意されているため、気軽にお試しいただけます。また、Ranorex は、14日間体験版がありますので、両方のツールを実際に利用して評価いただくのがよいかと思います。

関連ページ:

Ranorexについて詳しくはこちら