0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【UiPath】UiElement 変数を活用して改修の手間を減らす【モダン編】

Posted at

「同じUi要素にアクセスするアクティビティが複数ある場合は UiElement 変数を活用することで改修の手間を減らすことができる。」という記事を以前投稿した。そちらの記事は当時のクラシックアクティビティで作成したものなので、本記事ではモダンアクティビティでの方法について紹介する。

UiElement 変数を使わない場合

image.png

上図のフローでは、次の順番で処理を行っている。
①入力欄に変数 inputValue の値を入力する。
②入力欄に入力された値を取得し、変数 getValue に格納する。
inputValuegetValue の値が一致していることを確認する。
④入力欄にEnterキーを入力する。

ここで、①②④ではいずれも同じUi要素(入力欄)に対して操作を行っているので、同じ内容のセレクターを3回取っているということになる。このままでも動作上は問題ないが、もしUi要素に変更があった場合は①②④のセレクター全てを修正する必要があり、少々手間がかかる。

なお UiElement 変数の話とは少しズレるが、入力値のチェックを行いたい場合は『実行を検証』で確認できるようになっている。これについても後ほど記載する。

UiElement 変数を使う場合

image.png

上図のフローでは UiElement 変数を活用している。
モダンでは「要素を探す」アクティビティは無くなったが、代わりにUi要素を操作するアクティビティの多くでUiElement 変数を出力できるようになっている。

一番最初にUi要素を触る「文字を入力」アクティビティで出力要素を UiElement 型の変数 uieInputField に出力し……

image.png

「テキストを取得」と「キーボードショートカット」では入力要素に変数 uieInputFieldを使用している。

image.png

このように同じUi要素を何回か操作する場合、一番最初のアクティビティでUi要素を変数に出力し、以降のアクティビティではその要素を入力として使うことで、Uiに変更があった場合でも先頭のアクティビティのセレクターだけを修正するだけで済むようになる。

「アプリのステートを確認」での例

「アプリのステートを確認」アクティビティでも UiElement 変数を活用するとスマートに書くことができるという例を紹介する。

「アプリのステートを確認」は、上書き保存確認ダイアログなど表示されるかわからないUiを確認する場合によく使われる。表示されればOKを押して閉じ、表示されなければ何もしないという具合だ。

image.png

上のフローでは『名前を付けて保存の確認』が表示されれば『はい』を押し、表示されなければ何もしないという処理を行う。こちらも動作上は問題ないが、やはり少し冗長な部分がある。

image.png

UiElement 変数を活用したのがこちらのフローだ。「アプリのステートを確認」で『名前を付けて保存の確認』ダイアログ全体ではなく『はい』ボタンのUi要素を取得して出力させ、「クリック」では「アプリのステートを確認」が取得したUi要素を入力要素として使っている。
こうすることで、Ui要素の取得を一か所にまとめているだけではなく。本来「クリック」アクティビティ等に必要な「アプリケーション/ブラウザーを使用」の配置を省略できている。

補足:「実行を検証」について

モダンからは「文字を入力」や「クリック」などで『実行を検証』の機能が使えるようになっている。この機能は操作した後の状態を確認してくれるもので、「文字を入力」では入力後にターゲットの入力値を読み取り、入力しようとした値と実際に入力された値が一致しているかを検証してくれる。

image.png

image.png

要はモダンでは『実行を検証』を設定しておけば「文字を入力」アクティビティだけ入力確認まで行ってくれるので、以下のフローの例でいえば「テキストを取得」と「True か確認」の部分の処理が丸々不要になる。これらの機能も上手く活用し、よりコンパクトで改修しやすいフローを目指していきたい。

image.png

動作環境

  • UiPath.UIAutomation.Activities v25.10.12
  • UiPath.System.Activities v25.6.1
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?