【RPA】UI Automation 対応状況/ツール別比較


RPAで画面を操作するにはいくつかの方法があります。その手法を大きく分けると「1. 画面の座標上で操作する」「2. オブジェクトを画像認識して操作する」「3. UIを構造解析して操作する」の3つに分類されます。

この中で一番望ましいのは、RPAが各UI要素の構造と関係性を理解して、少しくらい場所や見た目が違っていても確実に操作ができる3番目の方法です。しかし、アプリによってはこの方法がうまくいかなかったり、リモートデスクトップで画像転送しか使えなかったりという場合、画像認識や座標の方法を使って操作することになりますが、操作の確実性が落ちます。

よって、RPAソフトウェアがどの手法に対応しているかはとても重要です。また、RPAソフトウェアによってはマウス/キーボード操作からコマンドを生成できるレコーディングの手法に対応しているものもあり、これがあるとロボット作成がとても簡単になります。ということで、これらの点に絞って主要5大RPAソフトウェア (WinActor、BizRobo!、UiPath、Automation Anywhere、Blue Prism)の実力を比べてみたいと思います。

UI構造解析とレコーディングへの対応状況 - ずばり比較!

  • レコーダー: ロボット作成者が見本操作を行い、それをそっくりそのまま記録してコマンド化してくれる仕組み。ロボット作成者がストレスなく操作でき、対応するコマンドが再現性の高い形で生成されていれば👍とします。
  • UI Automation: Windows が提供するUI構造解析 & 自動化ライブラリーに対応していれば👍とします。
  • レガシー: 場合によってはUI Automationがうまく動かない場合があるので、MSAAやDOM、Spy++やSnoopなどUI Automationがラップしているレガシー技術を使うとうまくいく場合があります。過去との互換モードもある場合は👍とします。
  • 画像認識: OCRエンジンを積んで、UI要素を画像としてとらえ認識する仕組みがあれば👍とします。
  • 座標: 一番ベーシックな方法ですが、座標を元に操作する方法があれば👍とします。
RPAソフトウェア レコーダー UIAutomation レガシー 画像認識 座標 説明
WinActor 🔺 🔺 👍 👍 5大RPAソフトウェアでは唯一UIAutomationライブラリーに対応していない。自動記録できる or 操作できるアプリとそうでないアプリが存在する。操作できないものは座標と画像認識による操作になるため、どうしても精度が落ちてしまう。
BizRobo! 🔺 🔺 🔺 👍 👍 クライアント/サーバーのJavaアプリケーションとは別にDesktop Automationサービスを走らせることでUIAutomationライブラリーの利用が可能1だが、使い始めるまでの設定が大変、かつレコーダーも直感的にゼロからワークフローを作れるものではない。
UiPath 👍 👍 👍 👍 👍 レコーダーを5種類から選ぶことができ、それぞれ得意分野に応じて使い分けられる。(逆のいいかたをすると、それぞれの特徴を把握しなければならない。) UIAutomationはツリービューのビューアも提供。
Automation Anywhere 👍 👍 👍 👍 👍 レコーダーを3種類から選ぶことができ、それぞれ得意分野に応じて使い分けられる。(逆のいいかたをすると、それぞれの特徴を把握しなければならない。) UIAutomationやレガシー技術にも対応。
Blue Prism 👍 👍 👍 👍 レコーダーがなく、ワークフローを手でくみ上げていく形式なのが惜しい。UIAutomationはツリービューのビューアも提供。

参考情報

関連記事


  1. 実はMCもDSもJavaアプリケーションであり、Java Service Wrapperという仕組みを使ってWindows とUnixの両方に対応しているようです。ただし、UI構造解析ライブラリはWindowsのみの機能なので、Windows専用の別の仕組みを作る必要があったというのが経緯なのでしょう。