![見出し画像](https://assets.st-note.com/production/uploads/images/130170851/rectangle_large_type_2_38cac03457df182f3b3b21d6a0a06715.png?width=800)
RPAデベロッパー基礎㉝ モダン デザイン エクスペリエンスの UI 同期系アクティビティ❶
今日もUiPath Academyの「RPAデベロッパー基礎」で学習していきます
モダン デザイン エクスペリエンスの UI 同期系アクティビティ
UI 同期系アクティビティは、オートメーションの信頼性を高める上で重要な役割を果たす
UI の動作に基づいてトリガーを作成し、PC で特定のイベントが発生したときに特定のアクションを実行できる
❶[アプリのステートを確認] アクティビティ
[アプリのステートを確認] アクティビティは、自動化するアプリケーションが存在するかどうかを確認する場合に役立つ
ワークフローにアクティビティを追加するときは、正しいアプリ要素またはブラウザーのタブをターゲットにしていることを確認する必要がある
さらに、目的の要素が見つからない場合は、別のアクティビティを追加して実行することができる
次のアクティビティを実行する前にターゲット要素が見つかるまでの時間を長くするためには、[待機対象] オプションの設定を変更できる
[アプリのステートを確認] アクティビティは、1 つの UI 要素だけでなくアプリケーション全体で変更がないかを確認
[アプリのステートを確認] アクティビティを使用して、対象となるアプリケーション (この例では DoubleUI アプリケーション) がプロセスの実行時に正しいステートであるかどうかを確認
すべてのデスクトップおよび Web アプリケーションには、それぞれのページ、メニュー、機能がある
これらはアプリケーションの「ステート」であり、UI 要素を使用するプロセスを期待どおりに自動化するために、アプリケーションが正しいステートにあることをときどき確認する必要がある
●DoubleUI アプリケーションはさまざまな種類のトランザクション処理に対応
![](https://assets.st-note.com/img/1707352675508-Is6bDnkQPd.png?width=800)
![](https://assets.st-note.com/img/1707352816221-tQJOwWOLfp.png?width=800)
![](https://assets.st-note.com/img/1707352695899-9kXAALLDR9.png?width=800)
それぞれ、固有のページ タイトルと入力フィールドを持っている
【デモ】[Withdrawal] トランザクション プロセスの最初の入力フィールドで、シンプルな [文字を入力] アクティビティの自動化
課題は、実行時にアプリケーションが [Withdrawal] または [Deposit] または [Split Deposit] のステートになっている可能性がある点
1⃣プロジェクト名 「Check Application State」
2⃣[アプリケーション/ブラウザーを使用] アクティビティを追加
3⃣[文字を入力] アクティビティを追加
入力フィールド [Check #1] を選択
今は目的のステートではないので、このプロセスを 5 秒間一時停止させているうちに、[Withdrawal] ステートに切り替え
[Check #1] 入力フィールドをターゲットとして指定し、入力フィールドのラベルをアンカーとして指定
4⃣フィールドに値「"100"」を入力
5⃣[文字を入力] アクティビティの [タイムアウト] に短い時間を設定
![](https://assets.st-note.com/img/1707353819501-TDLjAlMAbg.png?width=800)
既定では、DoubleUI アプリケーションは [Deposit] トランザクション ステートを実行する
ワークフローを実行
![](https://assets.st-note.com/img/1707353941684-8jq2x79ZBF.png?width=800)
これが、エラーが発生した理由
6⃣[アプリのステートを確認] アクティビティを追加
このアクティビティは、ユーザー インターフェイスに UI 要素が存在するかどうかを確認することで、アプリケーションまたは Web ブラウザーのステートを確認する
要素が見つかった場合は一方のアクティビティを実行できる
要素が見つからなかった場合は別のアクティビティを実行できる
今回のケースでは、ページ タイトルを使って、[Withdrawal] のステートにあるかどうかを判断することができる
選択を一時停止させて、[Withdrawal] ステートに切り替える
ページ タイトル「Withdrawal transaction」をターゲットとして指定し、ロゴをアンカーとして指定
キーボードで [Enter] を押して、選択内容を確認
![](https://assets.st-note.com/img/1707354803578-dEp1n3EPKf.png?width=800)
[出現する要素] でページ タイトルの出現を確認するために、このフィールドはそのままにする
これにより、探しているステートがこれであることをプロセスが認識することができる
●[文字を入力] アクティビティを [ターゲットが出現] に移動
[文字を入力] アクティビティは、アプリケーションが正しいステートにあることをアクティビティが検出する場合にのみ実行される
[ターゲットが出現しない] に追加するアクティビティも設定
このブランチは、DoubleUI アプリケーションが [Withdrawal] のステートにない場合に実行される
●[メッセージ ボックス] を追加
正しいステートでないことを確認
![](https://assets.st-note.com/img/1707355345739-bIbsVhQYFF.png?width=800)
※プロセスを実行する前に、DoubleUI アプリケーションを閉じる
![](https://assets.st-note.com/img/1707355281189-N8z9ZpgQOX.png?width=800)
●[クリック] アクティビティを追加
ステートをラジオ ボタン [Withdrawal] に変更
●ステートの切り替えを確認するメッセージも表示
●[ターゲットが出現] シーケンスからコピーして貼り付け
![](https://assets.st-note.com/img/1707356088334-qu454d1tsx.png?width=800)
デバック→実行
![](https://assets.st-note.com/img/1707355893943-Y7BMen9E2j.png?width=800)
【デモ】[アプリのステートを確認] アクティビティを使用して、テキスト ファイルが開かれているかどうかを確認 結果はメッセージ ボックスに表示
[アプリのステートを確認] アクティビティは、[アプリケーション/ブラウザーを使用] アクティビティの外でも使用できる
❶新しいシーケンスを作成
❷[アプリのステートを確認] アクティビティを追加
「Withdrawal details」ファイルを指定
デモのために、両方のブランチで [メッセージ ボックス] アクティビティを使用して、正しいファイルが開かれているかどうかを確認
●[ターゲットが出現] ブランチに
[メッセージ ボックス] アクティビティを 1 つ追加
メッセージを「Withdrawal details file is open」
●[ターゲットが出現しない] ブランチに
[メッセージ ボックス] アクティビティを 追加
メッセージを「Withdrawal details file isn't open」
![](https://assets.st-note.com/img/1707438003968-jTTAgMK1yk.png?width=800)
![](https://assets.st-note.com/img/1707438143195-EsDE75CK6P.png?width=800)
メモ帳を閉じて、このワークフローを実行
![](https://assets.st-note.com/img/1707438182168-uhSfoNhtRI.png?width=800)
別のテキストメモ帳ファイルを開いて、このワークフローを実行
![](https://assets.st-note.com/img/1707438246766-bagmO4z1k2.png?width=800)
まとめ
アプリケーションのステートが不明な場合、またはオートメーションの実行中にステートを変更する可能性がある場合、プロセス実行の失敗を克服するには、[アプリのステートを確認] アクティビティを使用するのが最適
この記事が気に入ったらサポートをしてみませんか?