RanoreXPath - RanoreXPath syntax | Ranorex Studio User Guide
Help CenterUser GuideRanorex Studio advanced

RanoreXPath の構文

この章では、RanoreXPath で使用できる構文について説明します。最初に、軸指定子 (Axis) について説明し、次に、属性 (Attribute) について説明します。

参照

RanoreXPath のより詳細な例については、⇢ RanoreXPath の例 を参照してください。

この章の例のほとんどは、トップ レベル アプリケーションを表す /form から始まります。通常はこのロールに、[@controlname='RxMainFrame'] のような形の属性をさらに指定しますが、RanoreXPath を短く記述するため、この章の例では属性の指定は省きます。

軸指定子 (Axis)

軸指定子 (Axis) は、要素ツリー上で、コンテキスト ノード (現在のノード) との相対的な位置関係を表すために使用されます。コンテキスト ノードは常に、軸の前にあるノードです。

すべての軸指定子 (Axis) には、追加の指定が必要です。指定子単独で使用することはできません。述語の有無に関わらず、ロールの指定、あるいは、any * または any optional ? ワイルドカードの指定が必要です。

これは、省略系である、// (descendant-or-self) および .. (parent) には適用されません。詳しくは、後述の説明を確認ください。

軸指定子 (Axis) の一覧

Syntax
child

Description
コンテキスト ノードのすべての子を返します。

Example
/form/child::button

 

Syntax
descendant

Description
コンテキスト ノードのすべての子孫を返します。

Example

/form/descendant::button

button ロールを持つ、/form のすべての子孫を返します。

 

Syntax
descendant-or-self | //

Description
コンテキスト ノード、およびそのすべての子孫を返します。
省略系は // です。追加の指定子はオプションです。

Example

/form/descendant-or-self::button | /form//button

button ロールを持つ、/form のすべての子孫を返します。/form のロールは異なるため、/form は返しません。ロールが form ではなく button の場合には、これも返します。

 

Syntax
parent | ..

Description
コンテキスト ノードの親を返します。
省略系の場合には単独で使用し、指定子を追加できません。

Examples

/form/button[@caption=’OK’]/parent::container

/form/button[@caption=’OK’]/..

例 1: 指定した button 要素の親のロールが container の場合、これを返します。
例 2: 指定した button 要素の親のロールに関わらず、これを返します。

 

Syntax
ancestor

Description
コンテキスト ノードのすべての先祖を返します。

Example

/form//button/ancestor::container

/form の子孫であるすべての button を検索し、ロールが container である、これら button のすべての先祖を返します。

 

Syntax
ancestor-or-self

Description
コンテキスト ノード、およびそのすべての先祖を返します。

Example

/form//button/ancestor-or-self::container

/form の子孫であるすべての button を検索し、ロールが container である、これら button のすべての先祖を返します。コンテキスト ノードのロールが container の場合には、これも返します。

 

Syntax
preceding-sibling

Description
コンテキスト ノードの前にあるすべての兄弟を返します。

Example

/form/button[@caption=‘OK‘]/preceding-sibling::button

指定した button より前にある兄弟であり、ロールが button であるすべての要素を返します。

 

Syntax
following-sibling

Description
コンテキスト ノードの後にあるすべての兄弟を返します。

Example

/form/button[@caption=‘OK‘]/following-sibling::button

指定した button より後にある兄弟であり、ロールが button であるすべての要素を返します。

 

属性 (Attribute)

参照

RanoreXPath での正規表現の使用については、Ranorex Studio エキスパート > ⇢ RanoreXPath における正規表現 を参照してください。

Syntax
/form

Description
form ロールを持つ、トップレベルのアプリケーションです。

 

Syntax
/form[@title=‘Calculator‘]

Description
title 属性が Calculator である、トップレベル アプリケーションを識別します。

 

Syntax
/form[@title=‘Calculator‘ and @instance=‘2‘]

Description
title 属性が Calculator かつ instance 属性が 2 である、トップレベル アプリケーションを識別します。

 

Syntax
/form[@title=‘Calculator‘ or @class=‘SciCalc‘]

Description
title 属性が Calculator または class 属性が SciCalc である、トップレベル アプリケーションを識別します。

 

Syntax
/button

Description
ロールが button である UI 要素を識別します。

 

Syntax
/button[2]

Description
2 番目のボタン (要素ツリーにおける位置) を識別します。

 

Syntax
/button[-2]

Description
最後から 2 番目のボタン (要素ツリーにおける位置) を識別します。

 

Syntax
/button[@text=‘Exit‘]

Description
text 属性が Exit であるボタンを識別します。

 

Syntax
/button[@text!=‘Exit‘]

Description
text 属性が Exit ではないボタンを識別します。

 

Syntax
/button[@text>‘Warning‘]

Description
text 属性が Warning で始まるボタンを識別します。

 

Syntax
/button[@text<‘Warning‘]

Description
text 属性が Warning で終わるボタンを識別します。

 

Syntax
/*[@text=‘Warning‘]

Description
text 属性が Warning である、あらゆる要素を識別します。

 

Syntax
/button[?‘Warning‘]

Description
任意の属性に Warning を含むボタンを識別します。

 

Syntax
/button[@text!=null()]

Description
text 属性が null ではないボタンを識別します。

 

Syntax
/progressbar[@value>=‘13.5‘]

Description
value 属性が 13.5 以上のプログレスバーを識別します。他の使用可能な演算子は以下です。>, <, >=, <=

 

Syntax
/button[@text=$var]

Description
text 属性が変数 $var の値であるボタンを識別します。

 

Syntax
/button[$var]

Description
変数 $var で指定されるインデックス位置のボタンを識別します。

 

Syntax
/dom//input[#‘Search‘]

Description
ID が Search である、Web サイト (/dom) 上の input 要素を識別します。

 

関数 (Function)

Syntax
/table/row/cell[first()=‘True‘]

Description
row の一番最初の cell を識別します。

 

Syntax
/table/row/cell[last()=‘True‘]

Description
row の一番最後の cell を識別します。

 

Syntax
/table/row/cell[index()=‘2‘]

Description
2 番目の cell (要素ツリーにおける位置) を識別します。index() 関数は、1 から始まります。

 

Syntax
/table/row/cell[pos()=‘2‘]

Description
3 番目の cell (要素ツリーにおける位置) を識別します。pos() 関数は、0 から始まります。

 

Syntax
/form[x()>‘100‘ and y()=‘100‘]

Description
スクリーン座標が 100 ピクセルより大きい、トップレベル アプリケーションを識別します。

 

Syntax
/form/button[cx()>’10’ and cy()>’10’]

Description
クライアント座標 (要素の親からの相対座標) が 10 ピクセルより大きいボタンを識別します。

 

Syntax
/form[width()>’100’ and height()>’100’]

Description
width および height が 100 ピクセルより大きい、トップレベル アプリケーションを識別します。

 

Syntax
/dom/body/form/button[text()=’Clear’]

Description
innertext が Clear である、Web サイト上のボタンを識別します。Web テストの場合、text() 関数は innertext 属性の値を返します。

 

Syntax
/dom/body/form/[@id=null()]

Description
id 属性が null ではない、Web サイトの form を返します。