Important Notice
Please ignore the screenshots for now. I will change them once the next build is out.
Modern day Web-applications usually have dynamic web elements. Finding objects with these dynamic elements is a real-pain when it comes to object identification while Selenium-based automation testing. Attribute values of these elements change at every page load event. This change is mostly session-based. Hence, identifying such objects while execution usually fails and so the automated test cases.
Qualitia finds a way out of it. Qualitia gives an option which resolves this problem of objects with dynamic elements. The SmartLocator option automatically modifies the locater value at runtime and updates it in the repository for future use. This way, Qualitia never fails to identify objects even though object locator value is getting changed after every session.
Qualitia gives you complete control over where to use this option as it can be enabled for every single object separately. This works with every object which is added using Qualitia Object Spy.
Adding New Object In Qualitia
While adding objects using Object Spy, you will see the SmartLocator option on the right-hand side corner. By default, this option is enabled.
Editing Existing Objects
While editing object details from the Objects screen of Qualitia Automation Studio, you will find this option as follows:
whereas, while editing objects from the Object Spy window, you will find this option on the right-hand side corner.
Use Case-1
Let's take an example of https://in.yahoo.com/. On this page, you will find few section names at the top of the window. Attribute values for these menus (Home, Mail, News and so forth) are dynamic. Add these objects in Qualitia under some test case and execute the click action on it.
Ensure you keep the SmartLocator option enabled on the Object Spy window while adding these objects in the repository.
As these objects contain dynamic elements, locater values will be updated after starting a new session. During execution, objects will get identified auto-correcting the locater values over existing values. You can view the existing and updated locator values analyzing Info Log from the test execution report.
Use Case - 2
Let's assume that even after auto-correcting the locater value, objects did not get identified while execution. In this case, Qualitia execution report will give proper error logs about object identification failure.
In this case, relearn this object using Qualitia Object Spy.
In case the failure persists, you can edit the object, disable this option and add object locator type manually. Also, inform Qualitia support about the failure with appropriate logs.