- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- 制御フロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- ログ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- ST-DBP-002 - 多数の引数
- ST-DBP-003 - 空の catch ブロック
- ST-DBP-007 - 複数のフローチャートレイヤー
- ST-DPB-010 - [ワークフロー] または [テスト ケース] の複数のインスタンス
- ST-DBP-020 - 未定義の出力プロパティ
- ST-DBP-021 - ハードコードされたタイムアウト
- ST-DBP-023 - 空のワークフロー
- ST-DBP-024 - 永続性アクティビティの確認
- ST-DBP-025 - 変数のシリアル化の前提条件
- ST-DBP-026 - [待機] アクティビティの使用
- ST-DBP-027 - Persistence のベスト プラクティス
- ST-DBP-028 - 引数のシリアル化の前提条件
- 変数
- 引数
- インポートされた名前空間
- コード化されたオートメーション
- トリガーベースの有人オートメーション
- レコーディング
- UI 要素
- セレクター
- オブジェクト リポジトリ
- データ スクレイピング
- 画像とテキストの自動化
- Citrix Technologies Automation
- RDP の自動化
- VMware Horizon の自動化
- Salesforce の操作の自動化
- SAP のオートメーション
- macOS の UI Automation
- ScreenScrapeJavaSupport ツール
- Webdriver プロトコル
- 拡張機能
- Test Suite - Studio
- トラブルシューティング
セレクターについて
ユーザー インターフェイス内の特定のアクションを自動化するには、さまざまなウィンドウ、ボタン、ドロップダウン リストなどを操作する必要があります。UI 要素を識別する方法の 1 つとして、画面上の要素の位置を使用する方法がありますが、これは信頼性が低いことがあります。
より確実な操作を行えるように、Studio ではセレクターと呼ばれる機能を使用します。セレクターは、グラフィカル ユーザー インターフェイス要素とその親要素の属性を XML フラグメントの形で格納します。
ほとんどの場合、セレクターは Studio によって自動的に生成されます。特に、自動化対象のアプリケーションのユーザー インターフェイスが起動するたびに変わるものでなければ、生成されたセレクターをユーザーが編集する必要はありません。
しかし、一部の Web アプリケーションなど、ソフトウェア プログラムによっては、レイアウトが変わるものや一時的な値を保持する属性ノードを持つものがあります。Studio はこうした変化を予測することはできないため、場合によってはユーザーがいくつかのセレクターを手動で記述する必要があります。
セレクターは次の構造を持っています。
<node_1/><node_2/>...<node_N/>
<node_1/><node_2/>...<node_N/>
最後のノードは対象となる GUI 要素を表し、それより前のノードはすべてその要素の親を表します。<node_1> は通常、ルートノードと呼ばれ、アプリケーションのトップ ウィンドウを表します。
各ノードには 1 つ以上の属性があり、選択したアプリケーションの特定の階層を正しく識別するのに役立ちます。
各ノードは、次の形式で表されます。
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
すべての属性には値が割り当てられています。定数値を持つ属性を選択することが重要です。アプリケーションを起動するたびに属性の値が変わってしまう場合、セレクターは要素を正しく識別することができなくなります。
セレクターは、アクティビティの [プロパティ] パネルの [入力] > [ターゲット] > [セレクター] に表示されます。グラフィカル要素関連のアクティビティはすべてこのプロパティを持っています。
[選択オプション] ウィンドウでは、ターゲットを選択して編集できます。このウィンドウを開くには、[ワークフロー デザイナー] パネルでアクティビティの本体にあるオプション ボタンをクリックして [画面上でターゲットを指定] または [ターゲットを編集] を選択します。
[セレクター エディター] ウィンドウでは、自動生成されたセレクターを表示して、セレクターとその属性を編集することができます。このウィンドウを開くには、[プロパティ] パネルの [セレクター] フィールドの横にある省略記号 ボタンを使用します。
オプション |
説明 |
---|---|
検証 |
このボタンは、セレクターの定義の有効性とターゲット要素の画面上での可視性を確認することにより、セレクターのステータスを表示します。 [検証] ボタンには以下の 3 つのステートがあります。
このボタンは、UI Explorer の検証ステートと相関しています。 |
要素を選択 |
新しい UI 要素を指定してます。 |
修復 |
同じターゲット UI 要素を再度指定して、セレクターを修復できます。この操作は、古いセレクターを完全に置き換えることはしません。このボタンは、セレクターが無効な場合にのみ使用可能です。 |
強調表示 |
ターゲット要素を前面に配置します。クリックによりオプションが無効化されるまで、強調表示は継続します。このボタンは、セレクターが有効な場合にのみ使用可能です。 |
属性を編集 |
ターゲット アプリケーション (ウィンドウ、ボタンなど) の識別に必要なすべてのアプリケーション コンポーネントを含みます。このセクションは編集できます。 |
セレクターを編集 |
実際のセレクターを保持します。このセクションは編集できます。 |
UI Explorer で開く |
UI Explorer を起動します。このオプションは、有効なセレクターでのみ使用可能です。 |
下表は、セレクターの作成に使用するタグおよび属性と、サポートされているセレクターの機能を示したものです。
属性 |
あいまい |
正規表現 |
大文字と小文字を区別 |
---|---|---|---|
app |
|
|
|
cls |
|
|
|
title |
|
|
|
aaname |
|
|
|
ctrlname (WinForms) |
|
|
|
ctrlid (WinForms) |
|
|
|
idx |
|
|
|
tid |
|
|
|
pid |
|
|
|
isremoteapp |
|
|
|
aastate |
|
|
|
sapClient (SAP) |
|
|
|
sapLanguage (SAP) |
|
|
|
sapProgram (SAP) |
|
|
|
sapScreen (SAP) |
|
|
|
sapSession (SAP) |
|
|
|
sapSysName (SAP) |
|
|
|
sapSysNumber (SAP) |
|
|
|
sapSysSessionId (SAP) |
|
|
|
sapTransaction (SAP) |
|
|
|
sapUser (SAP) |
|
|
|
属性 |
あいまい |
正規表現 |
大文字と小文字を区別 |
---|---|---|---|
url |
|
|
|
htmlwindowname |
|
|
|
title |
|
|
|
class |
|
|
|
app |
|
|
|
idx |
|
|
|
pid |
|
|
|
tid |
|
|
|
excludehwnd |
|
|
|
bsid (ブラウザー セッション ID) |
|
|
|
isremoteapp |
|
|
|
tag および idx 属性は文字列値を使用します。その他の WEBCTRL 属性は、すべて動的な値を取ります。
属性 |
あいまい |
正規表現 |
大文字と小文字を区別 |
---|---|---|---|
tag |
|
|
|
idx |
|
|
|
aaname |
|
|
|
name |
|
|
|
id |
|
|
|
parentid |
|
|
|
class |
|
|
|
css-selector |
|
|
|
innertext |
|
|
|
visibleinnertext |
|
|
|
isleaf |
|
|
|
parentclass |
|
|
|
parentname |
|
|
|
src |
|
|
|
href |
|
|
|
tableCol |
|
|
|
tableRow |
|
|
|
colName |
|
|
|
rowName |
|
|
|
aria-label |
|
|
|
aria-labelledby |
|
|
|
属性 |
あいまい |
正規表現 |
大文字と小文字を区別 |
---|---|---|---|
accelkey (アクセラレータ キー) |
|
|
|
acskey (アクセス キー) |
|
|
|
automationid |
|
|
|
cls |
|
|
|
helpText |
|
|
|
legacyAccHelp (レガシのアクセシビリティのヘルプ) |
|
|
|
enabled |
|
|
|
kbfocus (キーボード フォーカス可能) |
|
|
|
ispwd (パスワードかどうか) |
|
|
|
itemstatus |
|
|
|
itemtype |
|
|
|
rtid (ランタイム ID) |
|
|
|
ロール |
|
|
|
name |
|
|
|
pid |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
rowName |
|
|
|
colName |
|
|
|
idx |
|
|
|
属性 |
あいまい |
正規表現 |
大文字と小文字を区別 |
---|---|---|---|
id |
|
|
|
leafid この属性は id 属性と相互に排他的であるため [属性] パネルには表示されません。手動で追加できます。 |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
colName |
|
|
|
relpath |
|
|
|
itemId |
|
|
|
Silverlight タグは、あいまい、正規表現、大文字と小文字を区別する機能をサポートしない点にご注意ください。