ウィンドウアプリケーションに属するアクティビティには、操作対象を指定するプロパティが「セレクタ」のほかにも「要素」「使用ウィンドウ」「From」があります。これらの使い方について説明いたします。
確認バージョン:2.1.1.2
1.対象を指定するプロパティの説明
ウィンドウアプリケーションに属するアクティビティで対象を指定するプロパティは以下の4種類ございます。
- セレクタ(String型)
デザイナーパネル上の「要素を指定」から設定 - 要素(AutomationElement型)
「コントロールを検索」アクティビティの「出力コントロール」プロパティで取得した値を設定 - 使用ウィンドウ(WindowApp型)
「ウィンドウを開く」「ウィンドウにアタッチ」アクティビティの「出力ウィンドウ」プロパティで出力したウィンドウを設定 - From(UIElement型)
AutomationElement 型の引数を持つ新しい UiElement を開始することで取得- 例:「コントロールを検索」アクティビティを使用して要素を検索し出力を変数controlに設定した後で、使用したいアクティビティの「From」プロパティに「new UiElement(control)」を設定
これらのプロパティには優先順位が設けられています。詳しくは、以下をご参照ください。
2.ウィンドウを直接対象とするアクティビティの場合
以下のアクティビティは、ウィンドウを直接対象とするアクティビティです。
これらのアクティビティの場合、以下のような優先度となっています。
<「ウィンドウを開く」のスコープ外に配置されたアクティビティ>
実行優先度(複数のプロパティが入力されている場合)
1. 要素
アクションの実行に入力要素を使用します(閉じる、非表示、表示、最大化、最小化、移動、復元)。他のプロパティの入力は無視されます。
2. セレクタ
「From」および「使用ウィンドウ」プロパティは、指定されたセレクタを持つ要素を見つけるためのスコープとして使用されます。
「From」「使用ウィンドウ」プロパティの両方が空の場合、要素はデスクトップのルートから検索されます。
3. From (「セレクタ」プロパティに何も設定していない場合)
アクションを実行するウィンドウ要素として 「From」 プロパティが直接使用されます。「使用ウィンドウ」 プロパティの入力は無視されます。
4. 使用ウィンドウ (「セレクタ」プロパティに何も設定していない場合)
アクションを実行するウィンドウ要素として直接使用されます。
<「ウィンドウを開く」のスコープ内に配置されたアクティビティ>
実行の優先順位(複数のプロパティが入力されている場合)
1. 要素
アクションの実行に入力要素を使用します (閉じる、非表示、表示、最大化、最小化、移動、元に戻す)。他のプロパティの入力は無視されます。
2. セレクタ
「From」および「使用ウィンドウ」プロパティは、指定されたセレクタを持つ要素を見つけるためのスコープとして使用されます。
「From」「使用ウィンドウ」プロパティの両方が空の場合、要素は「ウィンドウを開く」アクティビティによって開かれたウィンドウ内で検索されます。
3. From (「セレクタ」プロパティに何も設定していない場合)
アクションを実行するウィンドウ要素として 「From」 プロパティが直接使用されます。「使用ウィンドウ」プロパティの入力は無視されます。
4. 使用ウィンドウ (「セレクタ」プロパティに何も設定していない場合)
「使用ウィンドウ」プロパティはアクションを実行するウィンドウ要素として直接使用されます。
5. 4つのプロパティすべてに入力なし
「ウィンドウを開く」アクティビティで開いたウィンドウをアクションを実行する要素として使用する。
※一つの方法でうまくいかない場合は、他の方法を試していただきたく存じます。
3.それ以外のアクティビティ(文字入力・クリック等)の場合
「2.ウィンドウを直接対象とするアクティビティの場合」の対象アクティビティと基本的には優先順位は同じですが、以下の違いがございます。
- 「From」「使用ウィンドウ」プロパティはウィンドウ全体を指定するプロパティのため、クリックや文字入力をしたい要素を指定することが出来ません。そのため、この2つのプロパティを単体で使用することが出来ません。
- 「From」「使用ウィンドウ」プロパティは、「要素」「セレクタ」プロパティで指定した要素を見つけるためのスコープとして使用することは出来ます。