- 概要
- UI Automation
- UI Automation アクティビティ パッケージについて
- UI Automation を使用して自動化されるアプリケーションと技術
- プロジェクトの対応 OS
- UI-ANA-016 - [ブラウザーを開く] に使用されている URL を検出
- UI-ANA-017 - [エラー発生時に実行を継続] の値が True
- UI-ANA-018 - OCR/画像関連のアクティビティのリスト
- UI-DBP-006 - コンテナーの使用
- UI-DBP-013 - Excel の自動化方法の誤用
- UI-DBP-030 - セレクター内での変数の使用禁止
- UI-DBP-031 - アクティビティの検証
- UI-PRR-001 - クリックをシミュレート
- UI-PRR-002 - 入力をシミュレート
- UI-PRR-003 - [アプリケーションを開く] の誤用
- UI-PRR-004 - ハードコードされた待機時間
- UI-REL-001 - セレクター内の大きいインデックス値
- UI-SEC-004 - メール アドレスのデータを含むセレクター
- UI-SEC-010 - アプリ/URL の制限
- UI-USG-011 - 許可されていない属性
- UX-SEC-010 - アプリ/URL の制限
- UX-DBP-029 - セキュリティで保護されていないパスワードの使用
- UI-PST-001 - [プロジェクト設定] の監査ログ レベル
- UiPath ブラウザー移行ツール
- クリッピング領域
- Computer Vision レコーダー
- アクティビティの索引
- アクティベート
- アンカー ベース
- ブラウザーにアタッチ
- ウィンドウにアタッチ
- ユーザー入力をブロック
- 吹き出し
- チェック
- クリック
- 画像をクリック
- 画像クリック トリガー
- OCR で検出したテキストをクリック
- テキストをクリック
- クリック トリガー
- アプリケーションを閉じる
- タブを閉じる
- ウィンドウを閉じる
- コンテキスト対応のアンカー
- 選択されたテキストをコピー
- 要素属性変更トリガー
- 要素の存在を確認
- 要素スコープ
- 要素ステート変更トリガー
- UI ツリーをエクスポート
- 構造化データを抽出
- 子要素を探す
- 要素を探す
- 画像を探す
- 一致する画像を探す
- OCR でテキスト位置を探す
- 相対要素を探す
- テキスト位置を探す
- アクティブ ウィンドウを取得
- 親要素を取得
- 属性を取得
- イベント情報を取得
- クリップボードから取得
- フル テキストを取得
- OCR でテキストを取得
- パスワードを取得
- 位置を取得
- ソース要素を取得
- テキストを取得
- 表示中のテキストを取得
- 前に戻る
- 次に進む
- ホームに移動
- Google Cloud Vision OCR
- ウィンドウを隠す
- 強調表示
- ホットキー トリガー
- ホバー
- 画像上でホバー
- OCR で検出したテキスト上でホバー
- テキスト上でホバー
- 画像の存在を確認
- 画面上で指定
- .NET コードを挿入
- JS スクリプトを挿入
- ActiveX メソッドを呼び出し
- キー操作トリガー
- 画像を読み込み
- ウィンドウを最大化
- Microsoft Azure ComputerVision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- ウィンドウを最小化
- イベントを監視
- マウス トリガー
- ウィンドウを移動
- URL に移動
- OCR でテキストの存在を確認
- 要素が出現したとき
- 要素が消滅したとき
- 画像が出現したとき
- 画像が消滅したとき
- アプリケーションを開く
- ブラウザーを開く
- ブラウザーを更新
- ユーザー イベントを再生
- ウィンドウを復元
- 画像を保存
- 項目を選択
- 複数の項目を選択
- ホットキーを押下
- クリッピング領域を設定
- フォーカスを設定
- テキストを設定
- クリップボードに設定
- Web 属性を設定
- ウィンドウを表示
- プロセスを開始
- システム トリガー
- スクリーンショットを作成
- Tesseract OCR
- テキストの存在を確認
- ツールチップ
- 文字を入力
- SecureString で文字を入力
- フォアグラウンドを使用
- 属性を待つ
- 要素の消滅を待つ
- 画像の消滅を待つ
- アプリケーション イベント トリガー
- ユーザー入力をブロック
- チェック/チェック解除
- アプリのステートを確認
- 要素を確認
- クリック
- クリック イベント トリガー
- ドラッグ アンド ドロップ
- 表データを抽出
- 要素を探す
- 繰り返し (各 UI 要素)
- ブラウザーのデータを取得
- クリップボードを取得
- テキストを取得
- URL を取得
- URL に移動
- 強調表示
- ホバー
- JS スクリプトを挿入
- キーボード ショートカット
- キー押下イベント トリガー
- マウス スクロール
- ブラウザー内を移動
- 項目を選択
- ブラウザーのデータを設定
- クリップボードに設定
- ランタイム ブラウザーを設定
- フォーカスを設定
- テキストを設定
- スクリーンショットを作成
- 文字を入力
- ユーザー入力のブロックを解除
- アプリケーション/ブラウザーを使用
- ウィンドウ操作
- UI Automation API を使用してブラウザー検索を実行し、結果を取得する
- Web の閲覧
- 画像を検索する
- 画像をクリックする
- イベントをトリガーおよび監視する
- ファイルを作成して上書きする
- HTML ページ: 情報を抽出して操作する
- ウィンドウの操作
- リスト項目の選択の自動化
- ウィンドウ要素を探して操作する
- テキスト操作の自動化を行う
- 画像を読み込んで処理する
- マウスでアクティブ化する操作を管理する
- アプリケーションランタイムの操作を自動化する
- ローカル アプリケーションの自動実行
- ブラウザーのナビゲーション
- Web オートメーション
- トリガー スコープの例
- DevExpress での UI Automation の有効化
- Computer Vision Local Server
- モバイル オートメーション
- ターミナル

UI Automation アクティビティ
サポートされている SAP WinGUI 要素
SAP インターフェイスには、このページの例が示すような操作を可能とする、さまざまな固有コントロールがあります。
SAP ボタン
[SAP WinGUI] ウィンドウで使用される、任意のボタンを表します。複数の種類があり、それぞれが特定の要素によって定義されます。
アイコン
アイコンは、テキスト ラベルを表示しない対話型ボタンです。

プッシュ ボタン
プッシュ ボタンは、アプリケーションのコマンドに直接アクセスする単純な UI 要素です。

ラジオ ボタン
ラジオ ボタンは一連のオプションを示します。リストには、少なくとも 2 つのラジオ ボタンがあり、そのうち 1 つだけ選択できます。

ボタンは、[ クリック] アクティビティを使用して操作できます。
SAP カレンダー
SAP カレンダーでは単一の日付または期間を選択できます。

SAP カレンダーは、[ カレンダーから日付を選択] アクティビティを使用して操作できます。

この SAP コントロールは、Studio の レコーディング ではサポートされていません。
SAP チェックボックス
チェックボックス要素は、複数の選択肢のリストを示します。1 つまたは複数を選択するか、まったく選択しないかを選べます。

チェックボックスは、[クリック] アクティビティを使用して操作できます。
SAP コンテキスト メニュー
コンテキスト メニューに表示される項目のリストを表します。親コンテキスト メニュー内では、複数の子テキスト メニューを使用できることに注意してください。

SAP のコンテキスト メニューは、[ クリック ] アクティビティを使用して操作できます。対話型の選択には、 AA 要素検出フレームワーク が必要です。
SAP ダイアログ・ボックス
ボタン、テキスト メッセージ、ポップアップ ウィンドウなど、SAP の各種コントロールを含む外部ウィンドウを表します。

ダイアログ ボックス内のセレクターは、それらが表す要素に従って生成されます。
[閉じる] ボタンを使用してダイアログ ボックスを閉じるには、AA 要素検出フレームワークを使用する必要があります。
SAP ドロップダウン リスト
ドロップダウン リストを使用すれば、事前に設定したリストから項目を選択できます。

リストの項目は、[項目を選択] アクティビティを使用して操作できます。
SAP HTML コンテンツ
HTML コントロールは、SAP WinGUI 内に HTML コンテンツを表示するために使用します。

SAP WinGUI 内の HTML ページを操作するには、 AA 要素検出フレームワークが必要です。SAP HTML コンテンツ向けのプロセス作成には、UI Automation アクティビティを使用できます。
SAP 入力フィールド
ユーザー入力を受け付ける専用のフィールドを示します。

入力フィールドは、[文字を入力] アクティビティを使用して操作できます。
SAP にログオン
SAP ログオンは、SAP システムに直接ログオンするための、ローカルにインストールするプログラムです。

SAP を開くには、[ SAP にログオン] アクティビティを使用します。
このアクティビティには、次の 2 つのパラメーターが必要です。
-
SAP システムへのログオンに使用する SAP ログオンまたは SAP ログオン パッド ウィンドウから取得する、正確な SAP 接続名
-
SAP ログオンまたは SAP ログオン パッドのプログラムへのパス。既定のパスは対応するシステム レジストリのエントリから取得されます。
注:画面上で指定する機能は不要です。SAP システムへの接続には、SAP スクリプト インターフェイスを使用します。
SAP にログイン
SAP システムへのログインを可能にします。

この後に、[ SAP にログイン ] アクティビティを使用できます。 
[複数ログオン オプション] ドロップダウンでは、ユーザーが複数回システムへのログインを試み、複数のログオン ポップアップ ウィンドウでライセンス情報が表示された場合に、どのような操作を実行するかを指定できます。以下のオプションがあります。
- 他のログオンを終了しこのログオンで続行
- 他のログオンを終了せずにこのログオンで続行
- このログオンを終了
SAP メニュー
SAP メニューの項目を選択できます。SAP メニューは、SAP WinGUI のメイン ウィンドウでのみ使用できます。

メニュー項目は、 SAP の [メニュー項目を選択] アクティビティを使用して操作できます。 
この SAP コントロールは、Studio の レコーディング ではサポートされていません。
SAP 画像
SAP WinGUI に画像を表示します。

指定した画像をクリックするには、[ SAP 画面上の画像をクリック] アクティビティを使用します。 
この SAP コントロールは、Studio の レコーディング ではサポートされていません。
SAP ステータスバー
SAP WinGUI ウィンドウ下部の、メッセージが表示される領域を示します。システムおよびログインに関する情報は表示されません。

[SAP ステータスバーを読み取り] アクティビティを使用すると、SAP のステータスバーからメッセージの種類、テキスト、データを抽出できます。
この SAP コントロールは、Studio の レコーディング ではサポートされていません。
SAP セッション情報
現在の SAP セッションの詳細情報、例えば、システム、クライアント、ログインしたユーザー、現在開いているプログラムやトランザクションなどを表示します。

SAP のオートメーションを作成する際、UIExplorer では、下記のオプションのセレクター属性を、[ 属性を取得 ] アクティビティなど、他のアクティビティと併用できます。
sapClient、sapLanguage, sapProgram、sapScreen, sapSession、sapSysName, sapSysNumber、sapSysSessionId, sapTransaction、sapUser

SAP タブ
SAP タブは、特定の情報やコントロールにアクセスできる一連のボタンを示します。

特殊なオートメーション ケース
一部の SAP トランザクションは名前にスラッシュ / が含まれているため、セレクターでワイルドカードを使用するときに識別の問題が発生することがあります。
たとえば、SAP トランザクション /COCKPIT/1 の場合、トランザクション内のある SAP タブのセレクターは次のようになります。
<sap id='usr/subSUB_MAIN:/COCKPIT/SAPLDISPLAY46:0389/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051/tabsG_STRIP_HDR/tabpTAB4' />
セレクターの動的な部分は SAPLDISPLAY46:0389 です。数値 0389 は動的に変化するため、安定した識別を行うことができません。
セレクターの構造は次のとおりです。

安定した識別を行うために、階層区切り文字の間にワイルドカードを使用し、区切り文字/スラッシュの間のすべての (そして唯一の) スラッシュを ? で置き換える必要があります。
変更前: <sap id='usr/subSUB_MAIN:/COCKPIT/SAPLDISPLAY46:0389/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051/tabsG_STRIP_HDR/tabpTAB4' />
変更後: <sap id='usr/subSUB_MAIN:?COCKPIT?SAPLDISPLAY46:038*/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051/tabsG_STRIP_HDR/tabpTAB4' />
SAP テーブル
SAP テーブルは、表形式で表示される一連の標準コントロールを示します。
共通の操作
SAP では複数の種類のテーブルを使用できます。最も一般的に使用されるのが、標準 (既定) テーブル、グリッド テーブル、および ALV テーブルです。すべての種類の SAP テーブルを Studio で自動化できます。
次のアクティビティを使用して、SAP テーブルとその内容を操作できます。
SAP 標準テーブル
SAP 標準テーブルは、上で説明した利用可能なすべての一般的な操作をサポートしています。

SAP グリッド テーブル
SAP グリッド テーブルは、上で説明した利用可能なすべての一般的な操作のほかに、選択/選択解除操作とデータ スクレイピングもサポートしています。

選択/選択解除
- 列を選択/選択解除
- 行を選択/選択解除
- すべて選択/選択解除

テーブルのセルのフィルター処理
上述のように、テーブルのセルでは共通の操作をすべて実行できます。
[表のセル スコープ] アクティビティを使用して、テーブルのセル (列と行) の内容をフィルター処理することもできます。SAP テーブルの列は、表示名だけでなく、他の属性 ( ColumnNameなど) でも識別できます。また、列と行をフィルター処理し、他のプロパティを使用して要素を識別することもできます。
列のツールチップの名前が別の列と似ている場合は、以下の例に示すように、その列を別の属性 ( ColumnNameなど) で識別できるように自動的に切り替わります。 
また、行番号に対して高度なフィルター処理を行うこともでき、これにより、以下の例に示すように、複数の属性に基づいた識別が可能になります。

データ スクレイピング
データ スクレイピング を使用すると、以下に示すように、SAP テーブルから構造化されたデータを抽出できます。
同じ名前の複数の列を含むテーブルを自動化する場合、スクレイピング メカニズムによって列名が自動的にインクリメントされます (例: column1、column2、column3)。
[構造化データを抽出] アクティビティは、SAP グリッド ビュー テーブルからデータを抽出する機能を強化します。columns_name_source パラメーターに次の値を指定することで、テーブルの情報を取得する方法を定義できます。
- 最長 - 完全な列名を抽出して使用します。
- 最短 - 短い列名を抽出して使用します。
- 表示 - SAP WinGUI に表示されている状態の名前を使用します。
- 技術 - 列の技術的ヘッダー名を抽出して使用します。
- ツールチップ - 列名の上にカーソルを合わせたときに表示されるツールチップ名です。

SAP ALV テーブル
SAP ALV テーブルは、上で説明した利用可能なすべての一般的な操作のほかに、簡易ヘッダー テーブルおよび複数ヘッダー テーブルのデータ スクレイピングと画面スクレイピングもサポートしています。これにより、SAP 画面の 1 つ以上の ALV テーブルを抽出できます。

データ スクレイピング
上で説明した SAP グリッド テーブルのデータ スクレイピングとまったく同じように機能します。場合によっては、列のツールチップ名が SAP ALV テーブルの表示名と異なることがあります。
columns_name_source='Tooltip' パラメーターを使用して、テーブルの情報を取得する正しい方法を定義します。
複数ヘッダーのテーブル
Studio では、ヘッダーが 2 行以上にわたるテーブルから正しいデータを抽出できます。

そのために、メタデータは以下を表示します。
join_type = ['LeftOuter' | 'Inner']
これらのオプションは、それぞれの名前を持つ SQL 結合に対応しています。左外部結合は、最初のヘッダーのみが存在する行も抽出します。その他の欠落する列値には NULL プレースホルダー テキストが入力されます。null_value_text = ['(null)' | 'any other user provided value']
内部結合は、完全なデータを持つ行のみを抽出し、すべてのヘッダーについて、データがない行は無視します。
画面スクレイピング
画面スクレイピングを使用する場合、推奨されるスクレイピング メソッドはフルテキストで、[非表示のテキストを無視] チェックボックスをオンにする必要があります。このメソッドで抽出されるのは、SAP 画面に表示中されているテキストのみであることに注意してください。

画面スクレイピングの詳細については、「出力メソッドまたは画面スクレイピング メソッド」をご覧ください。
ColorIndex
ColorIndex、ColorIntensified、および ColorInverse 属性によって、要素の背景色を識別できます。

これは、ロボティック プロセス オートメーションとテスト オートメーション両方のシナリオで使用できます。
| 属性名 | オブジェクトの種類 |
|---|---|
| ColorIndex | int32 |
| ColorIntensified | boolean |
| ColorInverse | boolean |
SAP ALV 階層テーブル
SAP ALV 階層テーブルは、階層構造を持つテーブルに体系化された要素のリストを表します。

[ ALV 階層テーブルを展開 ] アクティビティを使用して、SAP ALV 階層テーブル内にある任意のセルを識別できます。セルを識別した後に、[ クリック]、[ テキストを取得] などのすべての標準的な UI アクティビティを実行できます。
設計時と実行時のいずれかにアクティビティを操作できます。
設計時
設計時には、テーブル内の対象のセルを選択する必要があります。アクティビティは、アクティビティ内のこのセルの座標をキャプチャします。変更はいつでも可能です。
実行時時間
ターゲット セルにフォーカスが設定され、対応する UI 要素が出力引数として返されます。
表内を移動する
たとえば、特定の航空会社 (AA) の特定の便 (17) の時刻 (6:01) に関する情報を取得したいとします。

レベル / フォーカスのある列: フォーカスされている要素として設定する要素を定義します。
レベル 0 / ヘッダー列: ヘッダー列内で検索する列と値を定義します。
レベル 1 / ポジション列: ポジション列内で検索する列と値を定義します。
6:01 を含むセルの座標が出力値 (変数型 UiElement) として格納されます。
SAP ALV ツリー リスト
SAP ALV ツリーは、ツリー構造に体系化された要素のリストを表します。

[ ALV ツリーを展開 ] アクティビティを使用すると、ALV ノードを選択して、ノードのパスをアクティビティ内に表示することができます。これにより、サポートされているほかの任意のアクティビティを使用して、指定した要素を操作できるようになります。

SAP テキスト編集
SAP テキスト編集コントロールは、編集可能なテキスト フィールド/エディターを表します。

次のアクティビティを使用して、このコントロールを操作できます。
- テキスト フィールドに使用する[ 文字を入力 ] アクティビティ
- ホットキー対応のボタンに使用する [ ホットキーを押下 ] アクティビティ、またはボタンに使用する [画像をクリック] アクティビティ
SAP ツールバー
SAP ツールバーは、操作可能な一連のボタンを表します。SAP では、SAP トランザクションまたは SAP プログラムに応じて、さまざまな種類のツールバーがあります。

- SAP システム ツールバー (1)
- SAP アプリケーション ツールバー (2)
- SAP 特殊ツールバー (3)
- SAP グリッドテーブル ツールバー (4)
- SAP 汎用オブジェクト サービス (5)
ツールバー上のボタンは、[ ツールバー ボタンをクリック] アクティビティを使用して操作できます。 
この SAP コントロールは、Studio の レコーディング ではサポートされていません。
SAP のトランザクション・コード
SAP 機能へのアクセスや、SAP プログラムの実行を可能とする英数字のコードを表します。
[SAP トランザクションを呼び出し] アクティビティは、トランザクション コードさえあれば使用できます。
トランザクション コードは現在の SAP GUI ウィンドウで実行されます。

トランザクション コード (例: VA01) を指定すると、アクティビティは /nVA01 + Enter (keystroke) コマンドを送信して、トランザクションを呼び出します。 現在のトランザクションに対する未保存の変更は、警告なしに破棄されることに注意が必要です。
SAP ツリー
SAP ツリーは、ツリー構造に体系化された要素のリストを表します。SAP ツリーには数種類のコントロールが用意されています。
-
単純ツリー

-
リスト ツリー

-
列ツリー

SAP ツリーを操作する場合、 SimulateClick プロパティを使用することを推奨します。
ツリーを展開
ツリーに多数の子要素が含まれる場合、次のようにして選択します。
- SAP WinGUI でツリーを展開し、対象の要素を選択します。
- [画面上で指定] を使用して、SAP ツリー全体を選択します。
選択した項目のノードがアクティビティに表示されます。
この SAP コントロールは、Studio の レコーディング ではサポートされていません。
ツリーが折りたたまれていて対象のノードまたは項目が表示されていない場合、[SAP ツリーを展開] アクティビティを使用する必要があります。このアクティビティは、親ツリーをアクティブなノードまたは項目まで展開します。

- SAP ボタン
- アイコン
- プッシュ ボタン
- ラジオ ボタン
- SAP カレンダー
- SAP チェックボックス
- SAP コンテキスト メニュー
- SAP ダイアログ・ボックス
- SAP ドロップダウン リスト
- SAP HTML コンテンツ
- SAP 入力フィールド
- SAP にログオン
- SAP にログイン
- SAP メニュー
- SAP 画像
- SAP ステータスバー
- SAP セッション情報
- SAP タブ
- 特殊なオートメーション ケース
- SAP テーブル
- 共通の操作
- SAP 標準テーブル
- SAP グリッド テーブル
- 選択/選択解除
- テーブルのセルのフィルター処理
- データ スクレイピング
- SAP ALV テーブル
- データ スクレイピング
- 画面スクレイピング
- SAP ALV 階層テーブル
- 設計時
- 実行時時間
- 表内を移動する
- SAP ALV ツリー リスト
- SAP テキスト編集
- SAP ツールバー
- SAP のトランザクション・コード
- SAP ツリー
- ツリーを展開