Use Object Spy to find objects on the device screen
Perfecto’s Object Spy supports the creation process of your test automation by providing information about object locators/identifiers. It is seamlessly operated, with no need for any external tool support.
Object Spy provides a quick snapshot of your native app, hybrid app, or website. It lets you explore objects on the device screen and view them in the Object tree pane.
Dom view (available for real devices on non-native apps only)
Smart locators (because the Native tree for virtual devices is aligned with pure Appium)
The object tree presents a hierarchical view of all objects retrieved from the webpage or app. You can either select an object on the device screen or in the tree hierarchy to view related information in the adjacent Properties pane, which displays a wide range of object parameters. In particular, it lists the following properties:
- Smart locator (formerly referred to as object locator) (not available for virtual devices)
- Xpath
- X and Y coordinates
- Height and width
- Resource ID
- Package
- Origin class
- Class
For boolean properties, the pane provides information on whether they are turned on (indicated by a green checkmark ) or off (indicated by the general prohibition sign ).
You can instantly copy the required path or property to the clipboard to embed it in your automated tests.
In addition, Object Spy lets you:
-
Filter the tree by the following object types: buttons, edit fields, images, links, texts, and other objects. This is helpful when the tree is long and complex and you want to focus on specific objects.
Important: When a filter is applied, the object tree reverts to a flat view. A hierarchical view is only available when all objects are displayed. In addition, selecting an object on the device screen does not bring up any object in the tree if the selected element is hidden by the filter. - Search the tree by any object property. If the search brings up results, the number of objects found is displayed below the search field, and you can use the < Prev and Next > buttons to browse through the results and see them highlighted in the Properties pane on the right.
-
Validate object locators to make sure they are strong. Strong locators are an important component of reliable tests.
- Download the entire object tree as an XML file or HTML file (for web views) for offline use.
Watch this short video to see how you can work with the Object Spy. Detailed steps follow.
Limitations
Objects identified with Object Spy may not be aligned as expected. This is a general issue with iPad devices that only affects the home screen. The issue is caused by invalid information returned from Apple's XCTest framework.
Step-by-step instructions
Expand a section to view the steps.
- On the open device, open the app you want to work with.
- On the device toolbar, click the scouting icon . Object Spy opens in the right pane. You can expand nodes as needed. If required, you can extend the pane to the left by dragging the handles .
You can simplify the tree by configuring the maximum number of children included in the tree or by filtering the tree by specific object types: buttons, edit fields, images, links, text, or other objects. By default, all objects are shown.
The object you select on the screen may be hidden in the tree if you limit the number of children. When a filter is applied, the object tree reverts to a flat view. A hierarchical view can only be shown when all objects are included.
If you select an object on the device screen, the selection is only reflected in the tree if the object is shown.
To configure the maximum number of children:
-
Click the gear icon .
-
In the Settings dialog box, do the following:
-
Close and then re-open Object Spy.
To filter the object tree:
-
In the Object tree toolbar, click the filter icon .
-
Select the objects you want to view or clear the checkbox for objects you want to hide. By default, all objects are selected.
-
Click Filter.
-
To find all objects that contain a specific string, in the Object tree pane, click Search properties.
-
In the Search by object properties field, enter the word or string you want to find.
The search is dynamic. The results are refined as you type, and the number of found objects appears below the search field.
-
Use the < Previous and Next > buttons to navigate the results. For the selected object, search results are highlighted in the Properties pane.
-
In the tree or on the device screen, click a detected object. The right pane now displays the object's smart locator, XPath, and other properties and associated automation functions. At the same time, the selected device on the screen is overlaid with a rectangle.
Tip: To identify an object's parent node, move the pointer over the selected object on the device screen and click . This changes the selection to the parent node. -
To copy a value:
- In the right pane, move the pointer over a value and click the copy icon .
- On the device screen, move the pointer over the selected object and click the copy icon . This copies the smart locator to the clipboard.
- Paste the value into your automation script.
-
In the Object tree pane, click Validate object.
-
From the list, select Native (selected by default) or Dom (only available for non-native apps).
If Dom is selected, specify if you want to validate by xPath or CSS.
In the Validate object locator field, enter a locator.
-
Click the arrow to the right of the field to validate the locator.
The validation is successful if the object is located on the screen.
- In the Object tree toolbar, click the download icon and select the format (XML or HTML for web views). The file downloads to your browser's download pane.