(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【BluePrism入門】Webブラウザ操作の自動化 (3/4)

スポンサーリンク

前記事までのおさらい

【BluePrism入門】Webブラウザ操作の自動化 (1/4) - (O+P)ut

以下の作業をBluePrismで実装

  • Internet Explorerで 疎通チェックツールを開く
  • IP/ドメイン名項目に値を入力
  • 疎通確認ボタンを押下
  • 表示結果を確認

【BluePrism入門】Webブラウザ操作の自動化 (2/4) - (O+P)ut

以下の要素を持つApplication Modellerを作成

  • Write(ドメイン入力用)
  • Click(ボタン押下用)
  • Read(表示結果取得用)


本記事では一連の作業の肝である「オブジェクト(Objects)」の作成、後編です。

Objetcsを作成

アクションを作成していきます。

まず初めに、起動するアクションです。
デフォルトで存在する「Action 1」を「Launch」とでもします。

起動アクション

左側にある「Navigate」を画面に配置し、
f:id:mtiit:20190123181102p:plain
「Navigate」をクリックして、中身に情報を付与していきます。

以下の図の左側にある「PingCheck」をドラッグ&ドロップでElementの箇所に置きます
f:id:mtiit:20190123181255p:plain
Actionを押下すると、複数の動作が選択できますが、今回は「Launch」を選択します。
Navigate1となっている名前を今回はN_Launchとしました。

挙動を確認すべく、StartとN_LaunchとEndを結んで実行します。
ブラウザが開くはずです。

ちなみに、ブラウザが開いた状態では以下のエラーがでます。

Internal : Failed to perform step 1 in Navigate Stage 'N_Launch' on page 'Launch' - Application already launched
スリープ機能を挟む

ブラウザからURLを開く処理を待たずに後続の処理が始まると、エラーとなってしまう場合があります。
環境によっては不要ですが、安定化のため明示的に待つ動作を入れます。
実装としては、左側にある「Wait」を挟みます。今回はTimeout(timespan/secs)という箇所に「5」と入力しました。5秒スリープします。
f:id:mtiit:20190123182228p:plain

URL入力アクション

左側にある「Write」を画面に配置します。
中を開き、右側にあるWriteをドラッグ&ドロップします。
f:id:mtiit:20190123182857p:plain
左側にあるValueに今回入力するドメイン名に関する情報を入力します。

簡単に行いたければ

"www.mtioutput.com"

といったように直接記載します。

また、変数としてDataを外だししてその変数を入力する形でも対応可能です。
f:id:mtiit:20190123183420p:plain
上は、Domainというテキストデータを用意し、ドメイン名を入力、それをWrite関数に読み込ませてます。

これも、線を繋いで実行すればブラウザの中に値が入力されます。*1

ボタン押下アクション

ここでも「Navigate」を用意し、前回は「PingCheck」をドラッグ&ドロップしましたが、今回は「Click」をドラッグ&ドロップします。
アクションは押下を意味する「Press」を選択。同じように動作確認してください。
f:id:mtiit:20190123184339p:plain

結果読み込みアクション

左側から「Read」を用意し、以下のように情報を記載します。
f:id:mtiit:20190123191002p:plain

今回は、Resultというデータを用意し、アクションは「Get Name」で値を取得します。

他とのアクションの違いは、アウトプットとして返り値を設定する必要があることです。
Endのボックスをクリックし、以下のようにOutputを指定します。
f:id:mtiit:20190123190627p:plain

Process作成に向けて

それぞれのアクションをPublishします。アクションにカーソルを合わせて左クリックで選択できます。
Publishすると、下のようにマークがつきます。これによりプロセスから使用できます。
f:id:mtiit:20190123191249p:plain


ここまで来ればできたも当然、最後はプロセスとして実行するのみです。

*1:個人的に、初めてこの処理が動作した時は少し感動しました