• No results found

RanoreXPath Syntax

In document RANOREX STUDIO ADVANCED USERGUIDE (Page 156-164)

On this page, you’ll find a list of the syntax expressions available. We’ll first cover axes and then attribute expressions.

Reference

For more detailed examples of applied RanoreXPaths, please refer to ⇢ RanoreXPath examples.

Most of the examples on this page begin with /form, the role for top-level applications.

Normally, you would further specify this role with an attribute, e.g.

[@controlname=’RxMainFrame’] for the Ranorex Studio Demo Application, but on this page we omit this to keep the RanoreXPaths short.

Axes

An axis represents a relationship to the context (current) node, and is used to locate nodes relative to that node on the element tree. The context node is always the node before the axis.

All axes require further specification; they cannot stand alone. You can either specify a role (with or without a predicate) or use the any /* or any optional /? wildcards.

This does not apply to the abbreviations // (descendant-or-self) and .. (parent). This is explained under the respective axis.

List of axes Syntax child Description

Returns all children of the context node.

Example

/form/child::button Syntax

descendant

Description

Returns all descendants of the context node.

Example

/form/descendant::button

Returns all descendants of /form that have the role button. Syntax

descendant-or-self | //

Description

Returns the context node and all its descendants.

For the abbreviated syntax //, further specification is optional.

Example

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

Only returns the descendants of /form that have the role button. /formhas a different role and therefore isn’t returned. If it had the role button, it would also be returned.

Syntax parent | ..

Description

Returns the parent of the context node.

In its abbreviated syntax, it must stand alone and does not accept further specification.

Examples

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

Example 1: Returns the parent of the specified button element if it has the role container. Example 2: Returns the parent of the specified button element, regardless of its role.

Syntax ancestor Description

Returns all ancestors of the context node.

Example

/form//button/ancestor::container

Finds all buttons that are descendants of /form and then returns all ancestors of these buttons that have the role container.

Syntax

ancestor-or-self Description

Returns the context node and all its ancestors.

Example

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

Finds all buttons that are descendants of /form and then returns all ancestors of these buttons that have the role container. If the context node also had the role container, it would be returned as well.

Syntax

preceding-sibling Description

Returns all siblings before the context node.

Example

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

Returns all UI elements that have the role button, are siblings of the specified button, and come before it.

Syntax

following-sibling Description

Returns all siblings after the context node.

Example

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

Returns all UI elements that have the role button, are siblings of the specified button, and come after it.

Attributes

Reference

You can also use regular expressions in RanoreXPaths. This is explained separately in Ranorex Studio Expert > ⇢ Regular expressions in Ranorex Studio.

Syntax /form Description

Top-level applications usually have the role form. This syntax therefore identifies top-level applications.

Syntax

/form[@title=‘Calculator‘]

Description

Identifies top-level applications that have the title Calculator.

Syntax

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

Description

Identifies the top-level application that has the title Calculator AND the instance attribute 2.

Syntax

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

Description

Identifies top-level applications that have the title Calculator OR the class SciCalc.

Syntax /button Description

Identifies UI elements that have the role button.

Syntax /button[2]

Description

Identifies the second button (refers to the position in the element tree).

Syntax /button[-2]

Description

Identifies the second-to-last button (refers to the position in the element tree).

Syntax

/button[@text=‘Exit‘]

Description

Identifies buttons with the text Exit.

Syntax

/button[@text!=‘Exit‘]

Description

Identifies buttons with the text Exit.

Syntax

/button[@text>‘Warning‘]

Description

Identifies buttons whose text begins with Warning.

Syntax

/button[@text<‘Warning‘]

Description

Identifies buttons whose text ends in Warning.

Syntax

/*[@text=‘Warning‘]

Description

Identifies any element with the text Warning.

Syntax

/button[?‘Warning‘]

Description

Identifies buttons that have any attribute that contains the string Warning.

Syntax

/button[@text!=null()]

Description

Identifies buttons whose text attribute is not empty.

Syntax

/progressbar[@value>=‘13.5‘]

Description

Identifies progress bars with a value greater than 13.5. Other possible operators: >, <, >=,

<=.

Syntax

/button[@text=$var]

Description

Identifies buttons whose text has the value of the variable $var.

Syntax

/button[$var]

Description

Identifies the first, second, third, etc. button, depending on the numeric value of $var.

Syntax

/dom//input[#‘Search‘]

Description

Identifies an input element on a website (/dom for document object model) with the unique identifier Search.

Functions Syntax

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

Description

Identifies the first cell of a row.

Syntax

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

Description

Identifies the last cell of a row.

Syntax

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

Description

Identifies the second cell (refers to the position in the element tree). The index() function starts at 1.

Syntax

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

Description

Identifies the third cell (refers to the position in the element tree). The pos() function starts at 0.

Syntax

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

Description

Identifies top-level applications with screen coordinates greater than 100 pixels.

Syntax

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

Description

Identifies buttons with client coordinates (= an element’s coordinates relative to its parent) greater than 10 pixels.

Syntax

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

Description

Identifies top-level applications with a width and height greater than 100 pixels.

Syntax

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

Description

Identifies buttons on a website with the innertext Clear. For web testing, the function text() returns the value of the attribute innertext.

Syntax

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

Description

Identifies website forms whose ID attribute is not zero.

In document RANOREX STUDIO ADVANCED USERGUIDE (Page 156-164)