こんにちは、サーバーワークスのこけしの人、坂本(@t_sakam)です。今回も、前回に引き続きRPAツールのUiPathを試します。 第一回目は、メールの取得処理と件名による処理の条件分岐を試しましたが、第二回目の今回は、今年の4月に追加された「Windowsリモートデスクトップ拡張機能」を試してみたいと思います。
いままでリモートデスクトップ先で何か指定する場合は、画像認識を使用して指定する必要がありました。ですが、この拡張機能を使うことでUiPath Studioをインストールしているローカル環境と同じように、リモートデスクトップ先でもオブジェクト指定で構築できるようになりました。この機能を使うことで、リモートデスクトップ先での処理の構築がやりやすくなるのではないでしょうか?
今回の環境
わたしはMacを使用しているので、UiPath Studioは、EC2上のWindows Serverに入れています。※RPAツールはWindowsのみの対応であることが多いです。上の図の中央がUiPath Studioです。このブログでは手元のMacではなく、ここをローカル環境と呼んでいます。UiPath Studio起動時の画面の左メニューで「ツール」を選択すると「Windowsリモートデスクトップ拡張機能」が表示されるので、インストールします。
Windowsリモートデスクトップ拡張機能のインストール
https://docs.uipath.com/studio/lang-ja/docs/installing-the-windows-remote-desktop-extension
※リモートデスクトップ先には「UiPath Remote Desktop」をインストールする必要があります。
UiPath Remote Runtimeのインストール
https://docs.uipath.com/studio/lang-ja/docs/installing-the-uipath-remote-runtime
1. 前回の続きからスタート
中央の「繰り返し(コレクションの各要素)」をダブルクリックします。
2. メッセージボックスを削除
前回、確認のために使ったメッセージボックスを削除しておきます。今回は、メールの件名に「kokeshi」という文字が含まれていた場合にリモートデスクトップ接続をする、という流れで処理を繋げていきたいと思います。
3. RDPファイルの準備
まずは、UiPath Studioで指定する接続先の情報ファイルを準備します。「Windowsアイコン」>「リモートデスクトップ接続」を押します。
4. リモートデスクトップ接続情報の設定
リモートデスクトップ先の接続情報を入力します。コンピューターには、接続先のIPアドレス(またはDNS)を入力します。ユーザー名も適宜入力します。
5. 画面の設定
リモートデスクトップ先の画面の設定も適宜しておきます。「画面」タブをクリックします。今回は小さめに800×600ピクセルで設定しました。
6. RDPファイルの保存
「全般」タブに戻って、「名前を付けて保存」ボタンを押します。適宜ファイル名を入れて保存します。今回は「UiPath_Remote_Runtime.rdp」というファイル名です。
7. リモートデスクトップ接続確認画面
次に「接続」ボタンを押します。「このリモート接続を信頼しますか?」という確認画面が表示されます。自分の環境なので「このコンピュータへの接続について今後確認しない」にチェックを入れて、「接続」ボタンを押します。
8. パスワード入力画面
次に「資格情報を入力してください」という画面が表示され、パスワード入力を求められるので、適宜入力します。「このアカウントを記憶する」にチェックを入れて、「OK」ボタンを押します。
9. セキュリティ証明書の確認画面
次に「このリモートコンピューターのIDを識別できません。接続しますか?」という画面が表示されます。自分の環境なので「このコンピュータへの接続について今後確認しない」にチェックを入れて、「はい」ボタンを押します。
10. リモートデスクトップ接続
接続できました。まずは準備が完了しました。
11. フローチャート
左メニューの「ワークフロー」>「フローチャート」>「フローチャート」を条件分岐の「Then」の方にドラッグアンドドロップします。Elseのメッセージボックスも適宜削除します。
12. プロセスを開始
「フローチャート」をダブルクリックして、中に入ります。左メニューの「システム」>「アプリケーション」>「プロセスを開始」を中央にドラッグアンドドロップします。
13. RDPファイルの指定
右メニューのファイル名の入力ボックス右の「…」ボタンを押します。ここで、先程作成したRDPファイルを指定します。
14. アプリケーションを開く
先にリモートデスクトップ接続ができた後の処理について触れておきます。今回はコマンド実行が可能かどうかを確認するために、接続先でコマンドプロンプトを起動したいと思います。「システム」>「アプリケーション」>「アプリケーションを開く」を中央にドラッグアンドドロップします。その後、接続先でコマンドプロンプトを起動しておきます。
15. コマンドプロンプトを指定
「アプリケーションを開く」をダブルクリックします。「画面上でウィンドウを指定」をクリックします。
16. コマンドプロンプトのウィンドウを指定
先程起動しておいたコマンドプロンプトのウィンドウをクリックします。
17. 指定完了
クリックすると、コマンドプロンプトのキャプチャやセレクタ、アプリケーションの実行ファイルのファイル名などが自動的に入力されます。
18. 文字を入力
コマンドプロンプトでコマンドを入力できるか確認したいので、左メニューの「UI Automation」>「要素」>「キーボード」>「文字を入力」を中央の「Do」の中にドラッグアンドドロップします。
19. コマンドを入力
まずは、コマンドが入力できるかを確認できればよいので、ファイルの一覧表示コマンドを打ってみたいと思います。「"dir"」と入力します。
20. Enterキーの設定
コマンド入力後には「Enter」キーを打ってコマンドを実行したいので、入力ボックス右の「+」ボタンを押して、表示されたキーの中から「enter」を選択します。
21. 入力完了
コマンドが入力できました。
22. テスト実行
アクティビティを矢印で繋ぎ、上メニューで「保存」ボタンを押して保存しておきます。その後、「実行」ボタンを押して実行してみます。
23. エラー
エラーがでました。コマンドプロンプトの起動でエラーになりました。
24. リモートデスクトップ接続
もう一度設定するために、リモートデスクトップに接続された状態にします。
25. セレクタの確認
コマンドプロンプト起動のアクティビティである「アプリケーションを開く」を確認します。右メニューのセレクタの「…」ボタンを押します。セレクタエディターの検証結果が赤くなっています。
26. titleのチェックを外す
「titleを外す」というWeb上のTipsを参考に外してみます。リモートデスクトップのウィンドウとコマンドプロンプトのウィンドウ、2つのtitleのチェックを外します。検証が緑になりました。
27. テスト実行
再度、テスト実行します。
28. 成功
今度は、無事コマンドプロンプトが起動され、「dir」コマンドも実行されました。
29. 完了
また、UiPath Studioの画面が表示されました。テスト完了です。
まとめ
今回は、UiPathを使って「Windowsリモートデスクトップ拡張機能」を試してみました。リモートデスクトップ先の自動化もローカル側と同じようにオブジェクトで指定できるので、とても便利ですね。画像認識でも指定できますが、UIが変更されてしまうこともあるので、「Windowsリモートデスクトップ拡張機能」があるととても助かりますね!
また、今回も最後まで読んでいただき、ありがとうございました。次回もこの続きを作っていきますので、お楽しみに!
いや〜、「UiPath」って本当にいいものですね!