【RPA(UiPath)】操作を記録/文書化するツール、Task Captureの概要説明と個人検証結果

# Task Captureとは
Task Captureは「UiPath 公式の作業手順キャプチャツール」で、業務フロー図や手順書(word)、UiPathのプログラムが記載されているXAMLの作成を支援してくれるツールです。今回Task Captureの概要と実際に使ってみるところの様子を記事で説明していきます。
※この記事はバージョン21.10、2022年1月30日時点での情報となります。

Task CaptureはCommunity Edition(無償)でもCommunity Edition規約範囲内での利用は可能なものになっています。商用ライセンスの場合は、どこにTask Captureのライセンスが含まれるかは下記公式の「UiPathライセンシングポリシー」をご参照下さい。

【UiPathライセンシングポリシー】
https://www.uipath.com/ja/licensing-models


UiPathが展開している製品群のカテゴリの中では、「発見」に位置するものになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/aedf5e6f-3f27-72fb-6a7c-d5f6c731badd.png)
【出典：[UiPathのはじめ方シリーズ] Task Capture のはじめ方】

発見の各製品の概要を簡単に表すと下記のようなイメージになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/d384db84-e779-afb4-d26a-06b707df966a.png)



それぞれ簡単に説明していきます。

Automaiton Hub･･･自動化案件のライフサイクルの管理、自動化による効果の試算、コンポーネントやドキュメントの共有を関係者で行える中心地としてのツール(システム)です。活用する事によって、自動化案件の管理や情報共有を楽にする事ができます。

Task Capture･･･業務の可視化を手助けするデスクトップアプリケーションです。業務フロー図や画像付きの手順書の作成を補助してくれます。人の各操作のアクション(クリック等)毎に記録する事ができ、開発の時に使用するシーケンスやアクティビティも生成する事で、開発の効率化に繋げる事もできます。

Process Mining･･･ITシステムのデータから業務プロセス(仕事の流れ)の可視化を行い、現状の業務プロセスや課題の把握、問題のあるプロセスの特定、原因の分析を行う事ができるツール(システム)です。

Task Mining･･･端末上のイベントログやデスクトップのデータ等、人が行うアクションを収集し、タスクレベルで作業内容の可視化を行い、課題の把握、問題のある作業の特定、原因の分析を行う事ができるツール(システム)です。

纏めると、Automation Hubは情報を共有管理するもの、Process Miningは業務システムのデータレベルで分析＆課題発見、Task Miningは人の作業レベルで分析＆課題発見、Task Captureは他の人が作業を行えたり、理解できるようにするための業務フロー図や手順書、自動化の要件を決める要件書、開発に使うXAMLの作成を補助してくれるものです。Task MiningとProcess Miningは組み合わせて、プロセス全体をさまざまな詳細レベルで分析、可視化する事も可能です。


UiPath社が公式ではじめ方シリーズというドキュメントを公開しているので、各製品の詳細を知りたい方はそれを参照して下さい。


【[UiPathのはじめ方シリーズ] Automation Hub のはじめ方】
https://www.uipath.com/ja/blog/developer/how-to-start-uipath/automationhub

【[UiPathのはじめ方シリーズ] Task Captureのはじめ方】
https://www.uipath.com/ja/solutions/how-to-start-uipath/task-capture

【[UiPathのはじめ方シリーズ] Process Mining のはじめ方】
https://www.uipath.com/ja/blog/developer/how-to-start-uipath/process-mining

【[UiPathのはじめ方シリーズ] Task Mining のはじめ方】
まだ未公開

Task Captureでアクションを取得している時に、画面のスクリーンショットが端末以外の場所に送信されてしまわないか、セキュリティ面が気になる方もいると思います。その点については下記公式ドキュメントポータルで説明されていますので、こちらを参照ください。

【UiPath 公式ドキュメントポータル Task Capture セキュリティ情報】
https://docs.uipath.com/task-capture/lang-ja/docs/security-information

似たような他社製品(マニュアル作成ツール)は様々なものが存在していたります。iTutor、meecap、Windowsのステップ記録ツール等です。Windowsのステップ記録ツールはWindows標準に備わっています。今回はこちらの説明も省きます。


# 早速試してみましょう
インストールからライセンス認証、使い方までは【[UiPathのはじめ方シリーズ]Task Captureのはじめ方】のドキュメントに詳細書いてありますので、説明を省きます。

はじめ方シリーズのドキュメントをダウンロードすると、中にデモアプリが入っています。せっかくなのでこれを使って以下のような仮の業務があると想定して、この仮業務に対して、業務フロー図兼手順書、自動化要件書、XAML生成をそれぞれ実際に作ってみます。


<仮の業務>
①指定のフォルダに格納された経費一覧のエクセルを開く
②経費登録システム(デモアプリ)を起動する
③上記①で開いたエクセルの明細から金額(税込)が10,000以上のものを経費登録システム(デモアプリ)に登録、その後デモアプリの伝票番号をエクセルに転記する【繰り返しと条件分岐】
④全ての明細の登録が完了したらエクセルと経費登録システム(デモアプリ)を閉じる
⑤経費一覧のエクセルを登録済みフォルダに移動する



Task Captureの始め方は2種類存在します。1つ目はアクションを取得してからワークフローチャート(ダイアグラム)を作る方法、2つ目は手動でワークフローチャートを作ってから、アクションを取得していく方法です。両方の場合でそれぞれ検証してみます。

また、取得するアクションを全てを対象にするか、クリックやキー操作に絞るかを設定することもできます。今回は全てのアクションを対象にした「詳細レベル」で検証します。説明欄に追加してくれるものもチェックしてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/d878671a-0d7b-da77-2b08-930b556f2fe1.png)

公式のドキュメントポータルにベストプラクティスの説明が存在しており、そこに記載されていますが、フローが明らかになっている場合は、ワークフローチャート(ダイアグラム)を作ってから必要なアクションを取得していった方が効率的に作れます。ワークフローチャート(ダイアグラム)を作らないでキャプチャするのは、線型(上から下に流れていくだけの単純なフロー)の場合に適している作り方です。

【UiPath 公式ドキュメントポータル Task Capture ベストプラクティス】
https://docs.uipath.com/task-capture/lang-ja/docs/best-practices


〇1つ目：キャプチャを取得してからワークフローチャートを作る方法

何にも意識せず、上記の手順を記録開始してから実行し続けて、一度も一時停止せずに生成されたフローは下記の通りになります。繰り返しや条件分岐は表現されず、上から下に真っすぐ流れているフローが出来上がります。


【Task Captureを起動して、そのまま手順を実行した際のフロー画面】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/66dc6a60-6825-9928-1a71-998e832f9de6.png)

箱(シーケンス)を選択すると、1アクション毎に操作対象があれば赤い枠付きの画面のキャプチャが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/e61b5de9-ab7a-8758-61cc-132c7e4e5716.png)


この何もしていないままの状態でドキュメント化とXAML化をやってみると、ドキュメントの方は実際の手順に関係のないアクション(クリック動作等)が含まれており、上から下のフローのままなので、何をやっているのかここから把握するのは余計なアクションが邪魔で少し難しいと感じました。キャプチャの取得時に関係のないアクションを記録しないように一時停止をする事ができるため、関係ない操作をする事が明らかであれば一時停止機能は必ず使った方がよいです。

【エクスポートしたdocの手順説明箇所の一部分】
下記のものが1アクション事に連続しており、関係ない操作が合間に入っているとそれが関係のないアクションだと判断するのに時間が結構掛かります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/7f1b8213-7871-6d4c-8083-780adf687400.png)

次にXAMLファイルに生成してみます。当然ながらStudio上も一直線の縦長のフローで表示されます。

【エクスポートしたXAMLをStudioで開いた画面】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/db949e9e-b98f-3d14-3ebe-d80a370873b1.png)


人が実際にパソコンで操作している際は、手順書に記載している事のみ以外のアクションが混ざってきたりします。ウインドウをアタッチするためのクリックだったり、通常1回クリックすればいいのにクリックを2回以上カチカチする人もいたり、間違ったところを押して一回戻ったりといったものです。RPAで自動化している状態である、無駄なアクションがない状態を自動でキャプチャする事は何も考えずキャプチャするだけだと難しい事がわかります。(シーケンス数も多く、結構縦長になります)

【箱(シーケンス内)のアクテイビティの画面。画面のクリックも記録される様子】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/db257530-a41c-7061-5e11-ec9e2d5d9d63.png)

21.10のバージョンから、「同じ画面上のアクションを検出し結合」する新機能が出たので、こちらの動きを検証してみます。公式の説明では下記の説明文となっています。

>キャプチャプロセスが終了すると、タスクキャプチャは、類似したスクリーンショットを含み、それらをマージすることを提供するすべてのドキュメントごとにアクションを検出することを提供しています

実際に検出してみると結構な数がHITしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/48b08be1-628b-0e2f-1d71-f659eec9c256.png)

結果を確認すると箱(シーケンス内)で同じ画面に対して、同じような操作をしているものを重複と判定しているようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/db0f6ad4-7fae-e755-362e-ff5761cbc6c2.png)

マージボタンを押してマージしてみます。1つの箱(シーケンス)を例に見ると「クリック」、「クリック」、「Ctrl+V」の3つのアクションが1つに纏まっています。「クリック」なくなっているじゃないかと思うかもしれませんが、UiPathではセレクターで対象を判定して動作するので、邪魔なクリックがなくなって本来手順にあるべきものだけに削られたようになっています。

【左側がマージ後のTask Capture画面 右はそれをXAMLにエクスポートしたもの】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/2f7b1c00-523a-b66c-b0b8-ba558133cf9f.png)


他の場所もいくつかみてみると、本来の手順であるべきアクションではないものが、ドキュメントやXAMLに生成される対象としてのアクションで選択(マージ)されてしまっている所もありました。そういう場合はマージを解除することができるので、解除して正しいものだけ自分で残して不要なものは手動で削除する事ができます。下記の図の例でいうと「Ctrl + c」以外のアクションを自分で消すといった感じです。
(下記画像の重要情報オブジェクトは私がExcelでやったもので、Task Captureの機能のものではないです)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/653021fc-fbaa-ff3e-271a-27d9aa27c6d3.png)


1つ目の検証結果を踏まえて、次は2つ目の検証を色々気にしながらやっていきます。

〇2つ目：手動でワークフローチャート(ダイアグラム)を作ってから、キャプチャを取得していく方法

まずはフローチャート(ダイアグラム)を下記のように作ってみます。スイムレーンがあると分り易さが格段にあがりますね。箱(シーケンス)に好きな色を付ける事もできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/1311fa1b-87ce-ae7f-8fda-211b15a38eba.png)



フロー作成の補足ですが、繰り返しを表現する際、上の方に矢印を接続しようとすると下記画面キャプチャの一番左側のようになってしまいます。このようになったら、矢印の真ん中にある(値)付近をドラッグしてずらしていくと表現したい矢印に調整していく事ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/34ea9471-d9b0-87bb-067c-e076d66d2b0f.png)




次にこの箱(シーケンス)内に必要な操作を記録させていきます。これは開発したことある人ならわかるけど、ほぼStudioの記録モードで開発している事と一緒ですね('Д') 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/fbf0f441-2e0a-7cd3-2bfa-c318f5b5a185.png)

キャプチャし終わったので、一旦「同じ画面上のアクションを検出し結合」してしまいます。次に始めからキャプチャを確認し、何がしたいか伝わらないであろうものに、キャプチャのタイトルと説明欄を更新していきます。「同じ画面上のアクションを検出し結合」によるマージがおかしい箇所は元に戻して、正しいキャプチャだけに自分の手で削っていきます。削除は複数選択して消すこともできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/3e444cda-f81e-ea86-efb8-88a178984ac5.png)


必要なアクションが抜けていたら、追加できますので追加や修正していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/ed41e530-b281-4e4c-9b37-161f1ab7ceed.png)

ちなみにキャプチャ自体に矢印を引いたり、コメントを書いたり、重要情報を見えなくしたりと下記の様に作り込む事も可能です。重要情報を隠す場合、モザイクは文字を特定可能にする技術が進んでいるようなので、黒色のオブジェクトで完全に見えなくするやり方がお勧めです。

【作りこんだ操作画面と説明の例】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/9dc3c4ae-2d37-7ab1-7b12-48882a769b10.png)


上記までは終わったところで、エクスポートするとどうなるか見ていきましょう。まずはWord(Automation Hub PDD)版に出力してみます。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/c0a90c1c-ebe4-43b1-21ce-685cf13fcdae.png)

フロー図、なんかちょっと操作画面が見切れていますね。

手順の所が下記のようにクリックしている箇所が見えなくなってしまっている残念なキャプチャになっている感じになってしまっていたりする時もあります。取り直さないといけないかなと思われますが、エクスポートするときに画像サイズを小さくすると全画面含まれた形でドキュメント化することが可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/8146afaf-cd83-2e63-1f3b-aeb5dfe5bec5.png)


次にWord(UiPath PDD)版。画像サイズを中よりも少し小さめでエクスポートしてみます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/344bf8e5-410e-8d25-883f-7ee06cf43c44.png)

こちらのドキュメントの方が画面の幅が広く、キャプチャが見やすいと感じます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/5a092676-6cce-618e-77a2-6ead5e29d821.png)

Word(Automation Hub PDD)テンプレートも含めてテンプレートはカスタマイズすることができるため、求めているテンプレートにカスタマイズする事でより使いやすく実用的なものが作成できると思われます。

【独自テンプレートの詳細についてはこちら】
https://docs.uipath.com/task-capture/lang-ja/docs/creating-your-own-word-template

次にXAMLの方を見ていきます。Mainの見た目は矢印がぐしゃっとなってしまっている部分がありますが、Task Captureのフローとほとんど同じですね。自分で書いたフローのシーケンス毎に纏められるので、見やすくて開発の完成形に近い形になります。変数や引数の情報は何もない状態で作っていかないといけないので、この情報を元に、開発するか、初期テンプレート(フレームワーク)に必要な個所を移し替えて作成していくのが良さそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/6e9f0ba9-dde7-7ea3-6340-adadac5104eb.png)



次のブログでこのXAMLから、実際の開発を行う所を検証してみようと思います。今回はここまで。


# もっとこうなってほしいなという点
個人的にちょっと扱ってみてもっと将来的にはもっとこうなってほしいと感じる部分を書いていきます。


① 入出力ファイル情報を専門で記載する場所がプロパティ欄にほしい。
⇒どこの手順でなんの情報を入出力しているかは、業務把握に重要な部分であるため、情報として切り出されて個別に扱いやすくなっていると嬉しい。

②更新処理がある箇所をチェックする項目がプロパティ欄にほしい。
⇒更新があるかないかは重要な部分であり、開発する際にも気を付けなくてはならないため、どこの操作で気を付けるべきなのか、明確にわかるようになっていると良い。

③繰り返し処理を自動で検知して、「繰り返しになっています」繰り返しフローにしますか？を確認して、勝手に繰り返しになってほしい。記録し続けながらフロー全体を最適化してくれるようになってほしいと思います(Task Miningとの連動が必要かも)

④動画も部分的に差し込めるようにしてほしい。文章では伝えにくいようなものがあったり、作りずらい箇所があったときに動画で補足いれるものがあると良さそうだなと思いました。音声のみ版もあると良いかも。


⇩改善要望がツールを使っていると下記のように200文字以内で気軽に遅れるので、皆様ももっとこうなってほしいという点があれば、UiPath社に送りましょう！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/6c45f0e1-f25a-e6c7-2da7-3d46efae8945.png)


# さいごに
Task Captureを業務担当者の人が扱えるようにするためには、完成形のものをサンプルで作って見せるのと、作り方を説明する動画を作成して見て学習して貰えれば、比較的すぐ作り方を習得できるのではないかと思います。

しかし、記録を停止したり、綺麗に整えたりする事が手間に思えて、使って貰えないケースもあると思います。その際は、操作に慣れている人がTask Captureを使って、業務担当者に操作を教えて貰いつつ、フローとアクションを完成させる使い方もよいなと思います。

まだまだ発展していく製品だと思いますので、今後の進化にも期待です。
次のブログでは今回作ったXAMLから、実際の開発を行う所を検証してみようと思います。

<追記>
一次停止/再開は「設定」⇒「キャプチャ」からショートカットキーを設定できるので、自分が押しやすい箇所に設定すると、より素早く操作を記録していく事ができました。私は「F1」が押しやすい。

【設定画面】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/898472/35d5343b-b05e-c16b-8291-1b733b6ef1e3.png)



#参考サイト

【[UiPathのはじめ方シリーズ] Task Captureのはじめ方】
https://www.uipath.com/ja/solutions/how-to-start-uipath/task-capture

【2021年4月頃 Task Captureを使ってみた！】
https://speakerdeck.com/hanacchi/task-capturewoshi-tutemita-ce?slide=32

【UiPath ドキュメントポータル Task Capture】
https://docs.uipath.com/task-capture/lang-ja
最近のドキュメントポータルクオリティ高いので、一通りみてからやった方が手戻りすくなくなる印象あります。