Frequently Asked Questions
- Sagar Dubewar (Unlicensed)
- Anonymous
- If you try to inspect/add any object and if it is already inspected, an appropriate message appears on the tab bar.
- Click Highlight All to check if the object is already learned.
- Click Delete checkbox for deleting that object, if it is used in Test case or Task, an appropriate message appears on the tab bar.
- Select object for deletion and click Save.
- Double-click on Object Spy grid cell.
- Press F2 key to edit the XPath or Class of the already Learnt Object.
- Right-click on a page and select Add Object.
- Change the Locator Type to CSS/DOM
- Enter the Locator Value and click Save.
 Objects with CSS or DOM Locator Types cannot be highlighted.
Object identification failure can be categorized in following cases:
- Object does not exist
Object identification failure may be due to network latency, page is heavy to load in the expected time or connectivity failure. This can be handled by synchronization time.
- Object exists but tool failed to identify
A tool may fail to identify an object when object identification is based on incorrect attributes. Selected attributes might not have a static value. At times, there are properties, which are supposed to be static but contain dynamic values. For example, id attribute is supposed to be static but there are frameworks that generate values of id attribute dynamically. In such cases, your id values are supposed to change every time you refresh a page. On the other hand, there can be situation where a window is identified by title. If title contains timestamp as part of the title, it is prone to change repeatedly after each login. In all such cases, it is advisable to look for other property that is static and uniquely points to the desired object. If there is none and you have to deal with dynamism of the attribute value, check whether the dynamic portion of attribute value is predictable or not.
For example, when user1 logs in, the login window has a title 'welcome user1'. If you change the login credential to user2, welcome will remain the same and the dynamic portion 'user2' is predictable that is 'welcome user2'. Dynamic portion in this case is the same as the user credential used. Same user credential can be passed as part of attribute value.
If dynamic portion is not predictable, then common practice is using regular expression to get rid of the dynamic portion. In the same example of login title, title property can hold a regular expression as 'welcome.*'. You can ignore the dynamic portion and rely on static portion if it uniquely points to the desired object.