はじめに
Blue Prismのプロセスを実行しているとき、ランタイムリソースでどのような挙動をしているか気になることがあるかと思います。今回は、そんなときのためにスクリーンショットを撮ってくれるツールをご紹介します。
※本記事は2022年6月時点の内容です。
オブジェクトをインポートする
使用するオブジェクト
今回は Screen Capture Tool というオブジェクトを使用します。
ダウンロードする
Digital Exchange からScreen Capture Toolを検索して、XMLファイルをダウンロードします。通常、オブジェクトはXMLファイルで提供されています。
※ファイルのダウンロードにはBlue Prism Portalへのログインが必須です

青色のダウンロードボタンをクリックします。
BPA Object - DWF Utility - Screenshot.xml というファイルがダウンロードできたと思います。
インポートする
ダウンロードしたオブジェクトをBlue Prismにインポートしていきます。
Blue Prismにサインインして、トップ画面の左上から ファイル > インポート > プロセス/オブジェクト を選択します。

入力ファイル欄に、先ほどダウンロードしたXMLファイルが置かれているパスを指定します。

「次へ」を押すとプロセスの概要画面が出ますが、ここも「次へ」を押します。
ダウンロード完了画面が出てくるので、「終了」を押します。
これでオブジェクトのインポートが終わりました。
スタジオの「オブジェクト」からインポートされていることが確認できます。
それでは、このオブジェクトを実際に使ってみましょう。
オブジェクトの説明
入力と出力のパラメータを見てみましょう。
| パラメータ | データ型 | 説明 | |
|---|---|---|---|
| 入力 | SavePath | テキスト | スクリーンショットが保存されるフォルダのパス |
| 入力 | Name Prefix | テキスト | ファイル名の先頭につける文字列 |
| 出力 | Success | フラグ | スクリーンショットが成功したかどうかの判定 |
| 出力 | filename | テキスト | 保存されたスクリーンショットのファイル名 ({Prefix}_yyyyMMdd_HHmmss.png のような名前で保存されます) |
| 出力 | errorMsg | テキスト | スクリーンショットが失敗したときのエラーメッセージ |
スクリーンショットを取得する
Screen Capture Toolを使って、実際にスクリーンショットを取得してみましょう。
Yahoo乗り換えから交通費検索の作業を自動化することを想定しています。検索内容の入力時に発生するエラーの画面をスクリーンショットに撮っていきます。
交通費検索ページで出発駅と到着駅を入力するオブジェクトを呼び出しています。

一連の処理では、検索欄に駅名を入力して検索ボタンを押しても未入力扱いになってしまい、検索結果画面に遷移しない事象が発生します。オブジェクトで発生した例外は、プロセスのメインページの復元ステージまでバブルアップされ、スクリーンショットのオブジェクトを呼び出すようになっています。取得したスクリーンショットはデスクトップ上の「テスト_画面キャプチャ」フォルダに保存されるようにしています。
ここで挙げている、Yahoo乗換の検索で未入力扱いになってしまう事象の詳細や解決策などはこちらの記事に書いてあるので、あわせて読んでみてください。
→【Blue Prism】書き込みステージが使えないときの対処法
プロセスを実行すると、以下のようなスクリーンショットが取得できました。

フォルダを見ると、スクリーンショットが保存されていることが確認できます。

メールに添付して送信する
実際の運用を想定した場合、取得したスクリーンショットをメールに添付して送ることになると思います。そこで、フォルダ内に保存されているスクリーンショットをメールに添付して送ってみましょう。
今回、メールの送信には Email - POP3/SMTP というオブジェクトを使います。
メール送信プロセスについての詳しい説明は省略しますが、オブジェクトはDigital Exchange で検索して、ダウンロードする必要があります。
プロセスは以下のように実装しました。メール送信ページ内のアクションで、必要な情報(送信元のアドレス、宛先、件名、本文など)をセットしています。



保存してあるスクリーンショットは、Attachment(コレクション型)に入れる必要があります。今回は「スクリーンショット」という名前のコレクションを作っています。
スクリーンショットコレクションのプロパティを見ると、Pathというテキスト型のフィールドに対して、初期値としてスクリーンショットのファイルパスを設定しています。
このプロセスを動かしてみると、スクリーンショットが添付されたメールが届きます。

まとめ
この記事では、スクリーンショットの取得方法をご紹介しました。Screen Capture Tool というオブジェクトを使うと手軽にスクリーンショットを撮ることができます。ぜひ試してみてください。



