QF-Test maps the browser's DOM back to high-level UI elements
Developers of web applications can choose from a wide range of AJAX frameworks. Many of these come with their own UI widget toolkit, covering the whole range of established UI elements that users are familiar with. The high-level API provided by those frameworks enables developers to create applications with a pleasing and highly responsive user interface with excellent user acceptance rates quickly. This diversity is a special challenge for web AJAX test automation.
However, for web AJAX test automation engineers the situation is difficult because there's a major gap that has to be bridged: Browsers don't have any concept high-level UI elements like trees, so these have to be implemented by the toolkit creators, using the only means available: The browser's DOM. As a result, a simple UI tree gets mapped to hundreds of DOM nodes (typically DIV nodes) with an intricate structure. This mapping of high-level UI elements to DOM nodes causes an explosion of complexity that has to be addressed by test engineers.
One of the key features of QF-Test is the ability to reduce that complexity to the level of the original UI, by collapsing the complex, deeply nested hierarchy of DOM nodes back into a relatively flat structure of high-level UI components that can be addressed and manipulated easily. This ability allows testers to concentrate on the functionality they need to automate and leave handling (and hiding) the underlying complexity to QF-Test.
To put in a nutshell QF-Test abstracts deep interleaved DIV hierarchies back to logic GUI elements. QF-Test reduces the complexity in web AJAX testing on such pages enormously by mapping abstract objects to logic GUI-classes.
The following web AJAX toolkits already fully supported by QF-Test include Angular (up to Angular 5), Smart (GWT), GXT/ExtGWT, ExtJS, ICEfaces, jQuery UI, jQueryEasyUI, Kendo UI, PrimeFaces, Qooxdoo, RAP, RichFaces, Vaadin and ZK.
Further (e.g. SAP UI5, Siebel Open UI, Salesforce) and future web toolkits can be integrated with little effort. Near-term individual adjustments (CustomWebResolver) are possible via an optimized interface. Please ask us for our services.