はじめに
本記事では 2025年6月30日にリリース されましたUiPath Assistant for macOSによる ネイティブアプリケーション自動化 の実装手順について説明します。
macOS自動化の範囲拡大
これまでのUiPath Assistant for macOSでの自動化は次の範囲に留まっていました。
- Chrome/Safariのブラウザー自動化
- UI操作を伴わないバックグラウンド処理
- Integration Serviceを利用したサービス連携
今まで実現できなかった自動化の範囲には次のようなものがありました。
- macOSネイティブアプリケーション(Keynote、Numbers、メール、Microsoft Officeなど)の自動化
- GUIを持つJavaアプリケーションなどの自動化
このたびの UI Automation v25.10の新機能 により、クロスプラットフォーム対応の選択ヘルパーと高度なセレクターエディターを使用して、Windowsのみならず macOSでのネイティブアプリの自動化も可能となりました!
デモ動画
ネイティブアプリのサポートによってどのような自動化が可能になるでしょうか?
例としてNumbersアプリでExcelファイルを開き、Webフォームに入力 (RPAチャレンジを実行)するデモ動画を作成しましたので是非ご覧ください。
このオートメーションの作成手順は 後述 しております。
macOS自動化の開発環境
macOSネイティブアプリの自動化には次の開発環境が必要となります。
- macOS 10.15 (Catalina) 以降
- UiPath Automation Cloudにて Studio Web が利用可能
- UiPath Assistant for macOS Community/STS最新版 (2025.0.167以降)
Windows版 UiPath Studioのようなデスクトップ開発環境はmacOSでは提供されていません。
開発・実行手順
- UiPath Assistant for macOSインストール・設定
- Automation Cloudに接続
- Studio Webにて開発・デバッグ
- Automation Cloudにデプロイ
- Assistantで実行
1. UiPath Assistant for macOSインストール・設定
-
まずUiPath Assistant for macOS のCommunity版またはSTSの最新バージョンをインストールします。
- STS (ショートタームサポート) とは2ヵ月ごとにリリースされるCommunity版の1週間後にリリースされ、最新機能をいち早く体験できるバージョンです。継続リリース とも呼ばれます。
- 詳細は Studio、Robot、Assistant の新しいリリース周期 をご参照ください。
-
UiPath Assistant for macOS 最新版は次の手順でインストールします。
- ブラウザーで UiPath Automation Cloud にサインインします。
- ホーム画面右側 ダウンロードセンター のリンクをクリックします。
- macOS用Assistant (CommunityバージョンまたはSTS、Enterpriseバージョン)よりCPU種類に応じてdmgファイルをダウンロードします。
- ダウンロードしたdmgファイルをダブルクリックし、UiPath Assistantのアイコンをアプリケーションフォルダーにコピーします。既存のものが存在する場合には上書きします。
-
macOSでUI Automationを使用するために、システム管理 > プライバシーとセキュリティ > アクセシビリティ設定にて UiPath Assistant を許可します。
- 詳細は こちらのページ をご参照ください。
2. Automation Cloudに接続
-
UiPath Assistant > Orchestratorの設定をクリックします。
- 接続の種類として サービスURL を選択し、サービスURLは
https://cloud.uipath.com
のままで サインイン をクリックします。
- 既定ブラウザーでAutomation Cloudのログイン画面が自動的に開くため、いずれかの認証方式でサインインします。
- 認証成功後、Assistantにリダイレクトされ、ステータスが 接続済み、ライセンス済み となることを確認します。
- 接続の種類として サービスURL を選択し、サービスURLは
ブラウザー拡張機能のインストール
-
ChromeまたはSafariを自動化するにはあらかじめそれぞれの拡張機能をインストールします。
- Assistant設定 > UiPath 拡張機能 をクリックします。
- Chrome/Safariの拡張機能をそれぞれインストールします。
3. Studio Webにて開発・デバッグ
-
ブラウザーにて UiPath Automation Cloud にアクセスし、Studio Webに遷移します。
-
新規作成 > RPAワークフロー を選択します。
-
オートメーショントリガーは 手動のオートメーション を選択します。
-
(+) をクリックし、アプリケーション/ブラウザーを使用 アクティビティを選択します。
-
自動化対象のアプリを選択します。
- あらかじめ自動化対象のアプリを起動しておきます。ここでは表計算アプリのNumbersを例にしてみたいと思います。
- 次に、Studio Webでブラウザー以外のネイティブアプリを自動化するには Indicate on local machine のトグルをオンにし、ローカルマシンで指定 をクリックします。
- アプリケーションが選択できるようになるまでしばらく待機します。
-
しばらくするとアプリケーションを選択できる状態になりますので、Numbersなど自動化対象のネイティブアプリのウィンドウを選択します。
- dotnetの警告が出る場合には許可します。
- ファイルパスに選択したアプリケーションのパスが表示されることを確認します。
-
次にクリックの動作を追加してみます。
- 「アプリケーションを使用」のスコープ内で (+) をクリックし、クリック アクティビティを追加します。
- Indicate target をクリックし、クリック対象の画面要素を選択するための 選択ヘルパー を表示します。
- クリック対象として Numbersの 作成 ボタンを選択し、アンカーとして キャンセル ボタンを選択した後、選択ヘルパーの 確認 ボタンをクリックします。
-
さらに文字入力の動作を追加してみます。
- Numbersの作成ボタンを手動でクリックし、スプレッドシートの画面を表示します。
- (+) をクリックし、文字を入力 アクティビティを追加します。
- Indicate target をクリックし、選択ヘルパーにて文字入力を行うNumbersのセルを選択し、確認 ボタンをクリックします。
- 入力する文字列を指定します(例:
macOS test
)。日本語入力はIME設定などの影響を受けてしまうため、ひとまず英数文字にしておきます。
-
では実際に動作するか試してみましょう!
- Numbersは
⌘+Q
で終了しておきます。 - Studio Webで [クラウドでテスト] のドロップダウンをクリックして ローカルマシン を選択し、 [ローカルマシンでテスト] に変更されることを確認します。
- [ローカルマシンでテスト] をクリックしてデバッグ実行します。エラーが発生せずにNumbersのセルに文字入力されることを確認します。
- Numbersは
初回実行時にはNuGetパッケージのインストールなどで時間がかかります。
「ライブストリーミングに接続しています...」の状態でエラーが発生する場合には再実行します。
-
文字入力に関する補足情報ですが、入力モードが既定の ハードウェアイベント の場合、OSの日本語入力モードが有効化されていると文字入力が正常に行えません。何らかの対策が必要ですが、ここではひとまず英数入力モードに手動で変更しておきます。
4. Automation Cloudにデプロイ
-
デバッグ実行が成功しましたらAutomation Cloudにパブリッシュしてみましょう。
- パブリッシュの前の画面左のフォルダーアイコンをクリック、
RPA Workflow
右クリック > 名前を変更 を選択し、プロジェクト名をMacAppTest01
などのように分かりやすい名前に変更します。
- 画面上中央の [パブリッシュ] をクリックし、場所として Orchestrator 個人用ワークスペース フィード を選択し、パブリッシュ ボタンをクリックします。
- パブリッシュの前の画面左のフォルダーアイコンをクリック、
5. Assistantで実行
-
Assistantでプロセスを実行してみましょう。
- Assistantダッシュボードにてオートメーションとして
MacAppTest01
が表示されることを確認します。
- [実行] をクリックし、正常にオートメーションが実行されることを確認します。
- Assistantダッシュボードにてオートメーションとして
以上がmacOSネイティブアプリ自動化の基本的な実装手順です。
RPAチャレンジをやってみる
- 応用例として RPAチャレンジ を次の条件で実行してみたいと思います。
- macOSで実行
- ブラウザーはSafariを利用
- Excelファイルの読み込みはNumbersを利用
- 以降、主にmacOS固有の考慮事項について説明したいと思います。
1. ダウンロードファイルの定義・削除
- RPAチャレンジは最初にExcelファイルをダウンロードしますが、ファイル名が
challenge_ja.xlsx
、ダウンロードディレクトリは$HOME/Downloads
となります。 - 環境変数を取得する
Environment.GetEnvironmentVariable
メソッドを使用してダウンロードファイルのフルパスをfilename
という変数に格納します。 - 繰り返し実行することを考慮して、すでにファイルが存在する場合には削除します。
2. ブラウザーによるアクセス
- あらかじめ手動によりSafariで RPAチャレンジのサイト にアクセスしておきます。
-
アプリケーション/ブラウザーを使用 アクティビティでSafariの Rpa Challenge タブを選択します。
- Safari/Chromeの自動化では Indicate on local machine のトグルはオフのままでOKです。
- Safariでは入力モードとして
Chromium API
は利用できないためシミュレート
を指定します。 - クリックアクティビティで [Excelファイルをダウンロード] ボタンを選択します。
3. Excelファイルの読み込み
- ダウンロードしたExcelファイルをNumbersアプリで開きます。
- まず アプリケーション/ブラウザーを使用 アクティビティで Indicate on local machine のトグルをオンにしてNumberアプリを選択します。
- 次に その他のプロパティを表示 をクリックして、 ターゲット > 引数 に
filename
変数 (ダウンロードしたExcelファイルのフルパス) を指定します。
4. 表抽出とデータテーブルへの格納
- Excelファイルをデータテーブルに格納します。
- あらかじめ手動によりNumbersアプリでExcelファイルを開いておきます。
- 表データを抽出 アクティビティを使用し、Numberアプリを選択します。
- 既定では999行読み込まれるようなので、その他のプロパティを表示 をクリックして、抽出数の制限 にて15行程度に留めておきます。
5. データテーブルの繰り返し処理
- 最初の行はヘッダーとなるため、入力処理はスキップしつつ、開始ボタンをクリックします。
- 2行目以降は入力処理を繰り返し行いますが、データが空文字の時点で繰り返し処理を終了します。
6. データ入力
- RPAチャレンジ Webフォームの各入力フィールドに対応するデータを文字入力します。
- メールアドレスはリンクが自動生成され
s.shin@mc.com, 1個のリンクを含む
のような文字列に変換されてしまうため、コンマより前の文字列のみ取得します。
7. 結果出力
- 繰り返し処理完了後、表示される正解率のテキストを取得してログ出力します。
おわりに
本記事ではmacOSネイティブアプリケーションの自動化について説明しました。これまでmacOSにおけるRPAでは自動化できるアプリに制限がありましたが、このたびのリリースで任意のアプリが自動化できるようになりました!
ぜひ皆さんのmacOS環境で様々なアプリの自動化を試していただけると幸いです。