2019.01.21
UiPathで作成したロボットを実行する方法が複数あることをご存知でしょうか。
今回はその実行方法の1つである「Debug(デバッグ)」について、実際にUiPath Studioで作成したロボットを利用しながらご紹介していこうと思います。
今回は、
あるエクセルファイルから取得した情報を、別のエクセルファイルに出力するロボットを用意しました。
こちらがロボットの一連の処理のながれです。
2-1. チェックOKの場合⇒ログに処理開始のメッセージを出力
2-2. チェックNGの場合⇒エラー処理を行う
3-1. 新しく追加する商品情報があった場合⇒
3-1-1. 読み込んだ商品をエクセルファイル「商品データ.xlsx」に出力
3-1-2. ログに登録成功のメッセージを出力
3-2. 新しく追加する商品情報がなかった場合⇒
3-2.1 ログに登録データなしのメッセージを出力
▽商品登録ロボットフォルダ
▽データフォルダ
・登録用データ.xlsx
・商品データ.xlsx
・Main.xaml
はじめに「Debug(デバッグ)」とはどういったものなのか簡単にご説明します。
デバッグとは、作成したプログラムをテストして処理の不具合である「バグ」を発見し取り除く作業のことです。
次に、UiPath Studioでのデバッグ機能についてご紹介いたします。
「デバッグ」をクリックまたは、「F7キー」で、作成したプロジェクトをデバッグで実行することができます。
・実行中のアクティビティがハイライト表示されます。
・デバッグ中だけに表示される値の確認が可能なパネル(ローカルパネル)が表示されます。
・出力パネルには詳細なログが表示されます。
ブレークポイントとは、デバック実行中に処理を一時停止し、その時点での変数の中身を確認することができます。
ある時点での変数の中身やアクティビティ内の詳細な動作を確認したい場合に、確認したい処理の前後または該当の処理を選択し、「ブレークポイント」をクリックまたは、「F9キー」でブレークポイントを設定し処理を一時停止して確認できます。
ここでは、
・エクセルファイルから取得した変数の確認
・ifアクティビティ内の動作確認
を行いたいので、下記の3か所にブレークポイントを設定しました。
ブレークポイントで処理が一時停止しても、再度「デバッグ」を実行すると、次のブレークポイントまで処理が進みます。
このときに、ブレークポイントが設定されていない場合は最後まで処理が実行されてしまいます。
次に、処理を手動で進めることができる機能についてご紹介します。
アクティビティ内での詳細な処理内容を1つずつ実行することができ、その時の変数になにが入っているのか、どういった処理が実行されているのか確認することができます。
アクティビティ単位でデバッグ処理を進めることができます。
ステップイン同様、変数の中身を確認することが可能です。
今回の場合、
で「ステップオーバー」を使用すると、ifアクティビティ内の詳細な処理の内容までは確認することができません。
ifアクティビティ内での動きを確認したい…!
そういった場合は、「ステップイン」を使用することで、Ifアクティビティ内の詳細な処理内容を確認することができます。
それでは、ここまでにご紹介した機能を使用して実際にデバッグで商品登録ロボットを実行し、前述した変数の値とifアクティビティ内の動作を確認してみましょう。
①ブレークポイントを設定
デバッグ実行前に、一時停止したいアクティビティを選択し「ブレークポイント」を設定します。
②デバッグ実行
「デバッグ」をクリックするか、「F7キー」でデバッグ実行します。
最初に設定したブレークポイントで処理が一時停止しています。
また、実行中のアクティビティが黄色で色付けされます。
「ローカルパネル」:処理中の変数の中身を確認することができます。
「出力パネル」:実行されたアクティビティログを確認することができます。
この時点ではまだ「登録用データ.xlsx」から商品情報を取得していないので、「entryData」はnullのままです。
⇒「null」とは、変数の中身に何も値が入っていないことを表します。
それでは「登録データを読み込む」処理を通過してみましょう。
③ステップイン:登録データを読み込む
「ステップイン」をクリックすると登録データが取得され、次の登録データのチェックへと進みます。
エクセルファイルを読み込むアクティビティが実行されたため、「entryData」に取得したデータが入っています。
すべての中身を確認するため、「entryData」の値の部分にカーソルをあてると、虫眼鏡マークが表示されるので、クリックします。
このように現在の「entryData」の中身がすべて表示されます。
登録用に用意したエクセルファイルの商品情報です。
取得内容が一致しているので想定通りの結果が得られたことがわかりました。
「ステップイン」をクリックし、次のアクティビティに進みましょう。
④ステップイン:登録データのチェック
③で確認した通り、「entryData」には、「商品ID」、「商品名」、「カテゴリー」、「単価」の計4つのカラムが存在しているため、ifアクティビティの条件に一致することがわかります。
想定通りにThenセクションの「チェックOK」シーケンスに処理が進みました。
次のブレークポイントまで進みたいので、「続行」をクリックします。
デバッグ実行中に「続行」(元々はデバッグと表示されていたアイコン)をクリックすると、次のブレークポイントまで処理が進みます。
⑤ステップイン:新規登録データの存在チェック
ここではifアクティビティ内の動作確認をしたいので、ステップインを使用して1つずつ処理を追ってみましょう。
「entryData」には3件のデータが入っていたことを③で確認しました。
今回のifアクティビティの条件に一致しているため、「新規登録あり」のシーケンスへ進みます。
「続行」をクリックまたは、「F7キー」で最後まで実行してみましょう。
実行が終了すると、ローカルパネルが非表示になりUiPath Studioの表示が元に戻ります。
出力パネルで実行ログを確認してみましょう。
商品登録ロボットが正常に終了したことがわかりました。
次に、追記したエクセルファイル「商品データ.xlsx」を確認してみましょう。
実行前の商品データ.xlsx
実行後の商品データ.xlsx
③で確認した「entryData」の中身が追記されています。
今回はデバッグで使用する基本的な機能についてご紹介しました。
UiPath Studioにはほかにもデバッグ実行時に使える機能があるので、興味があればぜひ試してみてください。
ローカルパネル以外にも、メッセージボックスアクティビティやWrite Lineアクティビティ(出力パネルにメッセージを出力)を使用して処理中の変数の中身の確認を行うこともできますので、あわせて使用してみるのも良いかもしれません。
次回はバグの対処についてご紹介しますのでよろしければご覧ください。