スポンサーリンク
RPAを実行させ、コンビニでも行って帰ってくるとプログラムが上手く動作していなかった経験をした。そのような経験をしている方も多いのでしょうか。
この場合、その原因を調査するのですが、思うように調査が進まないことが多く、再実行させる必要や実行しても同じ事象が発生しないこともあります。
今回は実行中の動作を録画するプログラムを紹介します。
全体の流れ
1.画面録画開始
2.RPAプログラム実行
3.画面録画終了
Windows10(Win10)で作成していきます。
それでは細かく見ていきましょう。
スポンサーリンク
1.下準備
「ScreenToGif」を用意します。そのソフトとは
デスクトップ画面を録画し、ちょっとした画像編集、テキストやイメージを追加してGIFアニメとして保存できるソフト
https://forest.watch.impress.co.jp/library/software/screentogif/
です。次のURLからダウンロードします。画像で赤く囲った「Download」を押すとZip形式でダウンロードできます。
-
ScreenToGif
Free screen recorder tool. Record, edit and save as a gif or video.
続きを見る
解凍しデスクトップにショートカットを作成しておきましょう。
起動します。
オプションを押し、オプション画面で「一時ファイル」タブを選び、赤枠の「フォルダ」ボタンを押します。
フォルダには「Settings.xaml」があります。
その場所を後程利用するのでデスクトップにショートカットを作ります。
そのフォルダ画面とオプション画面を「×」で閉じます。
「レコーダー」をクリックします。
「レコーダー」が起動するので幅を選択してRPAプログラムが映る範囲を決めます。
(ここでは画面全体を範囲指定しましょう。)
右下の「記録」ボタンを押します。
数秒してから「停止」ボタンを押します。
「ScreenToGif - エディター」が起動するので、
「ファイル」タブを押して、「名前を付けて保存」を押します。
「フォルダ」ボタンを押し保存フォルダを選択します。
ここでは、「ドキュメント\UiPath\「該当RPA」」に「PF」フォルダを新規作成して「PF」フォルダを選択し、その中に「FileNameInput」と入力して「保存」ボタンを押します。
「保存」を押します。
「エンコーダー」が動作します。
※処理は早いと感じました。
「完了」が出ると保存完了です。
「×」の閉じるボタンを押します。
「終了してよろしいですか?」が出たら「はい」を押します。
保存することで先ほどの一時保存フォルダにあった「Settings.xaml」が更新されます。
このファイルをテキストファイルで開くと、前回起動してから終了した時までの情報が入っています。
「Settings.xaml」は更新されると、1から画面の高さや幅、位置を調整することになるのでこのファイルを別の所にコピーしてアプリで更新されないファイルを所持しておきます。
「ドキュメント\UiPath\「該当RPA」\PF」にコピペします。
そして、
同じ階層にバッチファイル(copy.cmd)を作成します。
SET CurrentDirectory=%~dp0
copy %CurrentDirectory%\Settings.xaml "C:\Users\[ユーザー名]\AppData\Roaming\ScreenToGif\Settings.xaml"
※作成し終わったらバッチファイルが正常動作することを確認します。
ここで、ひと段落つきました。
ここからUiPathでモジュールを作成していきます。
スポンサーリンク
2.「録画開始」シーケンス作成
UiPath Studioを立ち上げ次の小見出しのアクティビティを順々に追加していきます。
そして、それぞれアクティビティのプロパティ(設定内容)は小見出し下に入れています。
1.アクティビティ「PowerShell を呼び出し」追加
「コマンドテキスト」:"C:\Users[ユーザー名]\Documents\UiPath[該当RPA]\ProgramFile\copy.cmd"
「TypeArgument」:String
「スクリプト入力」:チェック
2. アクティビティ 「プロセスを開始」 追加
「ファイル名」:"C:\Users[ScreenToGif.exeの保存先]\ScreenToGif.exe"
3. アクティビティ 「待機」 追加
「待機期間」:「00:00:05」
4. アクティビティ 「クリック」 追加
「ScreenToGif.exe」を起動させ「画面上を指定」を押して「ScreenToGif - 起動画面」の「レコーダー」を押します。
5. アクティビティ 「待機」 追加
「待機期間」:「00:00:05」
6. アクティビティ 「ホットキーを押下」 追加
「アクティベート」:チェック
「入力前にクリック」:チェック
「特殊キー」:チェック
「キー」を「f7」にして「画面上を指定」を押し赤枠の白いところを押します。
スポンサーリンク
3.「録画終了」シーケンス作成
1. アクティビティ 「ホットキーを押下」 追加
「アクティベート」:チェック
「入力前にクリック」:チェック
「特殊キー」:チェック
「キー」を「f8」にして「画面上を指定」を押し赤枠の白いところを押します。
2. アクティビティ 「待機」 追加
「待機期間」:「00:00:05」
3. アクティビティ 「ホットキーを押下」 追加
「アクティベート」:チェック
「入力前にクリック」:チェック
「Ctrl」をチェックし「キー」を「s」にして「画面上を指定」を押し、
赤枠の白いところを押します。
4. アクティビティ 「文字を入力」 追加
「アクティベート」:チェック
「フィールド内を削除」:チェック
「入力前にクリック」:チェック
「テキスト」:「now.toString(“yyyyMMdd_HHmmss”)」
「画面上を指定」を押し赤枠の白いところを押します。
5. アクティビティ 「ホットキーを押下」 追加
「アクティベート」:チェック
「入力前にクリック」:チェック
「Alt」をチェックし「キー」を「e」にして「画面上を指定」を押し、
赤枠の白いところを押します。
6. アクティビティ 「待機」 追加
「待機期間」:「00:00:33」
この30秒の長さは稼働するRPAの動作時間に応じて変更しましょう。
7. アクティビティ 「クリック」 追加
「画面上を指定」を押し赤枠の「×」ボタンを押します。
8. アクティビティ 「クリック」 追加
「画面上を指定」を押し赤枠の「はい」ボタンを押します。
スポンサーリンク
動作確認
細かいことは抜きにして次のシーケンスを実行してみます。
1. アクティビティ 「ワークフローファイルを呼び出し」 追加
「ワークフローファイル名」:「"録画開始.xaml"」
2. アクティビティ 「待機」 追加
待機期間:「00:00:05」
3. アクティビティ 「ワークフローファイルを呼び出し」 追加
「ワークフローファイル名」:「"録画終了.xaml"」
以上で完成です。動作することを確認しましょう。
使い方
このRPAを確認したいRPAモジュールに活用して問題が発生して動作を確認するときは次のようにしてみましょう。
- 「C:\Users[ユーザー名]\Documents\UiPath[該当RPA]\PF」にgifファイルは保存できているか確認。
- 「一時フォルダ」に画像はあるか確認。
3. 保存できていたgifファイルを確認して、必要に応じて、
早送りなどができるように動画編集ソフトでavi,mp4などに変換して確認しましょう。
スポンサーリンク
補足
画面録画はこの方法以外でもPowerPointerや基本的にはゲームを録画するWindows標準装備のソフト(Windows+Gキーで起動)などがあります。
しかし、どれも出力がMP4なので数秒でも数MBとファイルサイズが大きくなってしまいます。
GIF動画で出力できるのでファイルサイズも小さくて済みます。
ただしGIF形式ではコマ送り再生などができないので調査するとき大変です。
ImageMagickやGiam、動画編集ソフトなどを使うことでGIFをPNG画像に変換したり、ファイル形式を変換したりできます。
備忘録
「Settings.xaml」内の値について:
・RecorderWidth :最小値180(アプリケーション内右下表示の横幅+16)
・RecorderHeight:最小値100(アプリケーション内右下表示の横幅+66)
※設定できる大きさ(アプリ右下では最小164×34を設定可能)
最後までお付き合いいただきありがとうございます!
この情報が誰かの役にたてれば幸いです。