結果がありません。
リクエストされたページは見つかりませんでした。記事を探すには、検索条件を絞るか、上記のナビゲーションを使ってください。
この章では、RanoreXPath の構成、および、RanoreXPath の特性と自動化テストの関連について説明します。最初に、独立した UI 要素についての RanoreXPath の構造について説明します。次に、特定の UI の一部となっている UI 要素の場合について説明します。最後に、RanoreXPath の堅牢性と柔軟性について説明し、テスト自動化の目的における使用方法について説明します。
以下のスクリーンキャストで、この章で説明している内容を確認できます。
通常、完全な RanoreXPath は、UI 内の単一の UI 要素を表します。単一の UI 要素の RanoreXPath の基本的な構造を説明するために、ここでは、Demo Application の Exit ボタンを表すのに必要な要素を見てみましょう。
基本的な構造: 独立した UI 要素の RanoreXPath は、3 つの要素、軸指定子 (axis)、ノード (node)、0 個以上の述語 (predicate) で構成されます。
Exit ボタンの場合、軸指定子は /、ノードは button ロール、述語はボタンをユニークに識別するための属性値のペアです。
/
, //
, ..
, ancestor
などがあります。詳しくは、⇢ RanoreXPath の構文 を参照してください。[ ]
で囲われた述語を指定できます。[]
で囲われます。@attribute='value'
です。= は演算子です。=
以外の演算子も使用できます。(⇢ RanoreXPath の構文 参照)上記で、独立したボタン、つまり、要素ツリーに単一の独立したノードを持つ要素についての、RanoreXPath の基本的な構造について説明しました。このボタンが埋め込まれている UI (つまり、Demo Application のウィンドウや、Introduction タブなど) を表す、先祖のノードは無視しました。当然のことながら、実際のシナリオでは、このボタンを識別するためには、RanoreXPath にはすべての先祖のノードが必要です。
Exit ボタンを取得するには、独立したノード/UI 要素の RanoreXPath を連結するだけです。これにより、他の完全な RanoreXPath と同様に、3 つのパーツで構成される、Exit ボタンの 完全な RanoreXPath が得られます。
ルート要素
現在の UI 要素ツリーのルートです。最終ノードへ到達するための開始ポイントです。
ルートから最終ノードへのパス
ルートと最終ノード間のノードです。0 個以上を指定できます。
最終ノード
識別したい UI 要素です。
これは、完全な RanoreXPath が、常に 3 個のノードで構成されているという意味ではありません。1 個のノードのみで構成される場合 (例: Demo Application のウィンドウのみを識別する場合)、2 個のノードで構成される場合 (ルートと最終ノード間にノードがない場合)、3 個のノードで構成される場合 (ルートと最終ノード間に複数のノードがある場合)、などがあります。
Ranorex Spy で Exit ボタンをトラッキングした時に生成される、完全な RanoreXPath を確認してみましょう。
トラッキングした Exit ボタン
Ranorex Spy で生成された RanoreXPath
Ranorex Spy は、RanoreXPath がどの UI 要素をナビゲート/識別するのかといった、より詳細な情報を表示します。
UI 要素ツリー ブラウザーでは、2 個の要素の RanoreXPath が階層表示されています。
Form
) です。controlname 'RxMainFrame'
で識別されています。controlname 'RxButtonExit'
で識別されています。.パス エディターでは、どのノードが RanoreXPath 式のどの部分に対応するのかといった詳細とともに、RanoreXPath 式の視覚的な表現を提供します。
Exit ボタンの完全な RanoreXPath 式は以下になります。
UI テスト自動化においては、堅牢性とは、UI の変更、例えば、ボタンの場所の移動、ボタンのラベルの変更、といった変更が加えられた場合でも、テストが機能することを意味します。Ranorex Studio では、これは RanoreXPath を介しておこなわれます。
理想的な RanoreXPath は、必要な限り詳細 (= より堅牢) で、可能な限り柔軟 (= より高速な UI 要素の識別) なものです。
Ranorex Studio は、堅牢性と柔軟性のバランスを自動的に調整する、高度なアルゴリズムに基づいて RanoreXPath を生成します。このアリゴリズムの動作は、Ranorex Studio の 設定 > 詳細 > RanoreXPath の設定 から変更できます。詳しくは、Ranorex Studio のシステム詳細 > 設定 > ⇢ 詳細設定 を参照してください。
RanoreXPath の柔軟性、ひいては堅牢性を向上させたい場合には、ワイルドカードを使用することで実現できます。Ranorex Studio が自動的に RanoreXPath を生成する際、RanoreXPath の柔軟性と UI 要素識別の速度のバランスを取るために、必要に応じてワイルドカードを追加します。
Ranorex Studio によるワイルドカードの自動挿入の例を確認してみましょう。Demo Application の Test database タブにある Female ラジオ ボタンをトラッキングし、RanoreXPath を自動生成させます。
Ranorex Spy で Track をクリックします。
Demo Application の Test database タブにある Female ラジオ ボタンをクリックします。
Ranorex Studio が、対象の UI 要素の RanoreXPath を自動生成します。
RanoreXPath 式:
要素ツリー ブラウザーの表示
パス エディター
パス エディターに表示されている、自動生成された RanoreXPath をより詳しく見てみましょう。
ルート RxMainFrame
:
このノードは、テスト対象アプリ (つまり、Demo Application) のプログラム ウィンドウを表しており、この RanoreXPath 式の固定部分です。
ワイルドカード:
RanoreXPath 式をより柔軟にするために、ルートとその次の固定部分の間に、Ranorex Studio は 2 個のワイルドカード /?
(= any optional) を挿入しています。これは、ルートとその次の固定部分の間に、0 ~ 2 個のノードがあり、Ranorex Studio が最終ノードを検索できることを示します。
固定ノード RxTabStandard
:
Ranorex Studio はこの UI 要素を、ラジオ ボタンを識別するために必要な固定ノードと指定しています。
ワイルドカード:
RanoreXPath 式をより柔軟にするために、Ranorex Studio は 2 個のワイルドカード /?
を挿入しています。
最終ノード rdbFemale
:
RanoreXPath 式の最後の固定部分である、今回の識別対象の Female ラジオ ボタンです。
/?
ワイルドカードを挿入しています。これらのワイルドカードは、固定ノード間に UI 要素の変更が発生しても、Female ラジオ ボタンの識別がおこなえる柔軟性を提供します。Ranorex Studio では、3 種類のワイルドカードを提供します。
/* |
any | 1 ツリー レベルのあらゆる UI 要素 |
/? |
any optional | 0 または 1 ツリー レベルのあらゆる UI 要素 |
// |
any descendants | 複数のツリー レベルのあらゆる UI 要素 |
RanoreXPath における正規表現の使用方法については、Ranorex Studio アドバンスト > RanoreXPath > ⇢ RanoreXPath の例 を参照してください。