2019年11月7日木曜日

Power Automate の UI Flow 現時点でのとりまとめ

Microsoft Ignite で発表された Microsoft Flow から Power Automate への変更。名称変更によるインパクトもありましたが、何といっても多くの人が気になっているのが RPA
を可能にする新機能 UI Flow だと思います。ある程度触ってみて、わかったことをまとめておきます。




まず UI Flow ですが、利用するための条件が色々あります。公式ドキュメントはプレビューな内容ですが、参考になります。なお、私が試している環境は、Azure 上に構築した Windows 10 Insider な VM を利用しています。

必ず必要なもの

  • 組織アカウント
    (Azure Active Directory に登録してあるアカウント)
  • Chrome ブラウザか Chromium 版 Edge ブラウザ
  • CDS 利用可能な環境とライセンス
    (CDS 必須なためプレビュー環境では利用できません)
  • UI Flow Apps
    (UI Flow を作成しようとしたときに、ローカルへインストールを求められます)
  • Common Data Service ソリューション環境
    (現時点ではソリューション上でないと UI Flow を呼び出せない)

Web用 Ui Flow 作成時で必要なもの

  • Selenium IDE
    (UI Flow を作成しようとしたときに、ブラウザ拡張としてインストールを求められます)

デスクトップ用 UI Flow 作成時では、上記の UI Flow Apps がインストールされていれば大丈夫です。

UI Flow 実行時で必要なもの

  • オンプレミスデータゲートウェイ

作成時では不要ですが、実行時にはオンプレミスデータゲートウェイが必要です。これは Power Automate
環境とのやりとりが必要と考えると理解できます。セキュリティ設定的にも、オンプレミスデータゲートウェイを利用している場合は、受信ルールを変更する必要がないのもあり非常に楽です。

UI Flow は先にワークフローを作成する必要があります。

作成するときは、マイフローのメニューから UI フローを選択します。

初期状態ではこのようになります。ここで UI フローの作成をクリックすると、Web 用 フローかデスクトップ用フローか、どちらを作成するのかを聞かれます。

ここで選択したものにより、以降の操作などが変化します。

デスクトップ用 UI Flow の作成

デスクトップアプリを選択し、次へをクリックするとワークフローの名前を求められますので、適当に入力し、次へをクリックします。

ワークフローの名前はこれまで通り、後で変更も可能です。次へをクリックすると、次は「入力フィールド」の設定です。入力フィールドとは、Power Automate の通常なワークフローから、UI Flow を呼び出す際に連携する値のことで、呼び出し元から渡した値で入力させるといった使い方になります。

新規追加をクリックすると、求めるフィールドの設定を求められます。

ここで入力するものは「入力ラベル」「サンプルデータ」「説明」の3点で、Power Automate で UI Flow を呼び出す際、デザイナー上に表示されるものとなります。値を渡す必要がなければ未設定で構いません。

フィールドの次は UI Flow
のワークフロー設定です。初期状態では上記のようなワークフローとなっていて、トリガとアクションが一つずつ用意されています。アクションのところが、実際の操作を記録させ最終的にワークフローに変換したものとなります。

Recording となっているアクションを開くと、レコーダーの起動がありますので、それをクリックします。そうすることで操作を記録させるツールが起動します。

起動するとこのような感じになります。画面上部に捜査記録用のツールが起動しているのが見えるかと思います。ここで起動しない場合、UI Flow Apps が起動していないことが考えられますので、タスクトレイにアイコンが潜んでいるかをチェックしてみてください。またプレビュー状態ということもあり、他の理由も考えられますがそのうち情報が公開されたり、修正が行われるものと思っています。

ツール上の Record をクリックすると、そこからの操作が記録開始となります。一通り操作を行い、Done をクリックすると操作内容がワークフローに展開されます。

例えば、Windows10 の検索で電卓を検索して起動、その後ポチポチとしていたような場合は、このようなワークフローに展開されます。恐らくは利用するアプリが切り替わる単位でスコープが区切られるのではないか、と思います。なおこのように展開されたワークフローは、直接編集が可能です。

アプリの起動であれば、このような項目が設定可能です。また、マウスの操作では実際に操作している時のスクリーンキャプチャが表示され、何を行うのかが視認可能です。不要な操作を削除するのは、アクションの削除と同じで各アクションの右上メニューから削除が行えます。

操作の記録が終わり、ワークフローの調整が終わったら、下に表示されている次へをクリックします。

次に設定するのは出力フィールドです。これは入力フィールドの反対で、UI Flow からワークフローへ値を戻す際の設定です。この項目の設定は、操作の記録中に行う必要があります。

記録中に、Get Output をクリックすると、出力フィールドの設定が行えます。フィールドの名前を入力し、実際に返却したい値を画面の対象項目をクリックして選択します。

その後ワークフローへ戻ると、このように設定した出力フィールドの内容が反映されます。出力フィールドの設定が終わったら、次へをクリックして作成した UI Flow のテストを行います。

入力フィールドを利用している場合は、値の入力を求められます。必要な入力を行ったら今すぐテストをクリックすると、作成した UI Flow のテスト実行が行えます。

テスト実行して問題があれば、各アクションの調整や再度操作記録を作成する必要があります。問題がなければ保存して終了します。

これでデスクトップアプリ用の UI Flow は作成完了です。通常のワークフローから呼び出すことで、操作を開始することができるようになります。

Web 用 UI Flow の作成

Web 用では Selenium IDE を利用して、RPA を行います。

Web 用の場合は、ワークフローの名前と開始時に開く Web サイトの URL が必要です。入力してレコーダーの起動をクリックします。

レコーダーの起動をクリックすると、Selenium IDE が起動します。ここから先は、Web 開発を行っている方であれば利用されてる方も多いであろう、Selenium そのものです。

Selenium IDE 右上部にある REC をクリックすると、操作の記録が開始され、先に入力したベースの URL がブラウザで開かれます。

ブラウザ上で各種操作を行った後で、再度右上部の STOP REC をクリックします。そうすると Selenium IDE 上にここまでの操作が展開されます。

デスクトップ版 UI Flow であった、入力/出力フィールドですが、Selenium IDE 上で直接設定を行う櫃よぐあります。例えば Store 系のコマンドを利用したものが入力/出力フィールドに対応していますので、IDE 上で直接記載を行います。このあたりは公式ドキュメントでも触れられていますので参考にしてください。

Selenium IDE 上での入力が終わったら、右上の保存ボタンをクリックします。

デスクトップ用 UI Flow と違い、Web 用 UI Flow では、Selenium IDE 上での設定がすべてで、Power Automate 側で調整などは行えません。フローの詳細画面もありませんので、直接 Selenium IDE でやりくりすることになります。

作成した UI Flow の実行

作成した Ui Flow を実行するには、ソリューション環境上で Power Automate のワークフローを作成します。

ソリューション一覧から、Common Data Service Default Solution をクリックします。

何も作成していなかった場合はこのような表示です。とりあえず新しいワークフローを作成します。

ソリューション上のワークフローでは、UI Flow を呼び出すためのコネクタが用意されていて、デスクトップ用/Web用 UI Flow の呼び出しを行うアクションが用意されています。

デスクトップ用 Web 用 どちらの UI Flow でも、呼び出す際にはオンプレミスデータゲートウェイ経由での接続が必要です。データゲートウェイの接続設定を求められますので、必要事項を入力します。

Web 用 UI Flow 呼び出しでは、呼び出す UI Flow 名と実行するブラウザの種類を選択します。

デスクトップ用 UI Flow 呼び出しでは、呼び出す Ui Flow 名を選択します。

また、デスクトップ/Web 双方で入力フィールドを設定している場合は、上記のようにデザイナー上で値の設定欄が追加表示されます。

出力フィールド設定を行っている場合は、後続の処理でダイアログに表示されますので、いつも通りの方法で結果の利用が可能です。

このような形で UI Flow は利用が可能です。デスクトップ用と Web 用で、設定する方法が全然違うので慣れが必要ですが、何かしらの自動操作を行うイメージはついたのではないでしょうか。実際の場面では、入出力フィールドを絡めて操作する内容を調整することも行えますので、汎用的な対応が可能です。是非色々触ってみてください。

0 件のコメント:

コメントを投稿