I am writing this article to explain a unique-out-of-the-box concept of automating UI5 applications which addresses most of the challenges faced in automating UI5 applications
Some of the most common challenges in automating UI5 applications are:
◉ Ids not stable
In UI5 applications IDs are unique in a given page, but there is no guarantee that these IDs will remain stable across multiple iterations of the business flow, which makes it unfeasible to use it as a identifying locator for entire business flow.
◉ No standard way of identifying UI5 element
There are multiple ways (locators) to identify a UI5 element , some of them are XPath,css,HTML tags,Ids (not stable over iterations as discussed above) etc. Stability of the automation scripts largely depends on how well these locators are used and how unique they are in identifying the UI5 element.
◉ Sync issues
Script failure due to syncing of UI5 elements is one of the biggest concern which is causing a lot of discomfort for the automation developers
◉ Ease of use
All of the points mentioned above makes it really difficult for automation developers to write stable scripts easily
◉ Customization and Maintenance
Again for the points mentioned above a lot of effort is required in maintaining the script stability whenever the properties of the locators change over period of time
◉ Solution
This UI5 Automation framework is a JavaScript based solution with two components
Browser extension – Displays the DoM structure of the UI5 page in UI5-elements-format, and a context menu to capture the properties/events of selected UI5 element as shown in the figure below
Extension of Protractor – A JavaScript based tool, handles sync between UI5 elements exceptionally well. The data captured through browser extension context menu is used to create the business flow and run via this tool against any browser (perhaps mobile too…not yet tested)
The uniqueness of this framework is that the automation is based on the UI5 element structure and not normal HTML DoM, which makes it very stable in identification and maintainable.
Some of the most common challenges in automating UI5 applications are:
◉ Ids not stable
In UI5 applications IDs are unique in a given page, but there is no guarantee that these IDs will remain stable across multiple iterations of the business flow, which makes it unfeasible to use it as a identifying locator for entire business flow.
◉ No standard way of identifying UI5 element
There are multiple ways (locators) to identify a UI5 element , some of them are XPath,css,HTML tags,Ids (not stable over iterations as discussed above) etc. Stability of the automation scripts largely depends on how well these locators are used and how unique they are in identifying the UI5 element.
◉ Sync issues
Script failure due to syncing of UI5 elements is one of the biggest concern which is causing a lot of discomfort for the automation developers
◉ Ease of use
All of the points mentioned above makes it really difficult for automation developers to write stable scripts easily
◉ Customization and Maintenance
Again for the points mentioned above a lot of effort is required in maintaining the script stability whenever the properties of the locators change over period of time
◉ Solution
This UI5 Automation framework is a JavaScript based solution with two components
Browser extension – Displays the DoM structure of the UI5 page in UI5-elements-format, and a context menu to capture the properties/events of selected UI5 element as shown in the figure below
Extension of Protractor – A JavaScript based tool, handles sync between UI5 elements exceptionally well. The data captured through browser extension context menu is used to create the business flow and run via this tool against any browser (perhaps mobile too…not yet tested)
The uniqueness of this framework is that the automation is based on the UI5 element structure and not normal HTML DoM, which makes it very stable in identification and maintainable.
If this concept interests you, let me know if you want to understand the framework in depth and I can share more details. I will be modifying this blog to make it more elaborate and more clearer in coming days.
0 comments:
Post a Comment