You can use the following attributes such as the title, class name, window position, visibility status, and size to identify the Java™ window.
| Attribute Name | Type | Description |
|---|---|---|
| title | String | The title of the Java window. We support to get the title for the following Java window class: java.awt.Frame, java.awt.Button, javax.swing.JFrame, javax.swing.JButton and all the other Java classes which supports getText() method. This support also includes all the extended classes of the mentioned classes. |
| class_name | String | The class name of the Java window. |
| xpos | Numeric | Horizontal position of the window with regard to the parent window. |
| ypos | Numeric | Vertical position of the window with regard to the parent window. |
| is_visible | Numeric (0/1) | Visibility status of the window. |
| size | Numeric | The area of the window (WIDTH*HEIGHT). This attribute would be useful for windows that are not resizable. |
| rel_xpos | Numeric | Considering the left-most position of all the
windows, and numbering the windows from left to right starting from
1, the rel_xpos = n, represents the nth window. If two windows share the left x-pos, then they would get the same position, and the one afterward would have the next position. For example, for four windows with left-top pos (2,5), (4,10), (4,15) and (10,4). The position assigned would be 1, 2, 2, 3. |
| rel_ypos | Numeric | Considering the top-most position of all the
windows, and numbering the windows from top to bottom starting from
1, the rel_ypos = n, represents the nth window. In case two windows share the left y-pos, then they would get the same position, and the one afterward would have the next position. For example, for four windows with left-top pos (2,5), (5,10), (4,10) and (10,15). The position assigned would be 1, 2, 2, 3. |
Example:
/child::jwnd[@title="Login" and @class_name="MyJFrame"]This example matches windows with title "Login" and class name MyJFrame
When using a parenthesis to group conditions inside a predicate, all the groups are inside their respective parentheses temporarily, including those groups that are originally excluded.
Example:
Wrong usage: child::wnd[(@title="a" or @title="b") or @class_name="c"] fails to evaluate because the class_name check is not grouped inside parenthesis.
Correct usage: child::wnd[(@title="a" or @title="b") or (@class_name="c")] evaluates as expected since the class name is grouped inside paranthesis.